All functions:
  Elements:
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: seekg
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc:32,1
    - Dst: tellg
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc:33,1
    - Dst: std::string::reserve
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc:35,1
    - Dst: seekg
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc:37,1
    - Dst: std::string::assign
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc:38,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc:38,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' src'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: ReadInput
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc
    functionUses: 0
    functionsReached:
    - std::string::assign
    - std::string::reserve
    - seekg
    - tellg
    - std::istreambuf_iterator<char>
    linkageType: ''
    returnType: std::string
    signature: std::string ReadInput(std::istream& src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: seekg
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc:32,1
    - Dst: tellg
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc:33,1
    - Dst: std::string::reserve
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc:35,1
    - Dst: seekg
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc:37,1
    - Dst: std::string::assign
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc:38,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc:38,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' src'
    argTypes:
    - std::istream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: ReadInput
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc
    functionUses: 0
    functionsReached:
    - std::string::assign
    - std::string::reserve
    - seekg
    - tellg
    - std::istreambuf_iterator<char>
    linkageType: ''
    returnType: std::string
    signature: std::string ReadInput(std::istream& src)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ReadInput
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc:57,1
    - Dst: JsonToProto
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc:59,1
    - Dst: ::test::grpc::TestPlans::Clear
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc:63,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc:64,1
    - Dst: test::grpc::RunTestPlans
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc:73,1
    - Dst: ProtoToJson
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc:80,1
    - Dst: TextFormat::Print
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc:82,1
    - Dst: ::test::grpc::TestResults::results
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc:87,1
    - Dst: status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 92
    functionName: main
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc
    functionUses: 0
    functionsReached:
    - ReadInput
    - test::grpc::RunTestPlans
    - ProtoToJson
    - TextFormat::ParseFromString
    - JsonToProto
    - ::test::grpc::TestPlans::Clear
    - TextFormat::Print
    - ::test::grpc::TestResults::results
    - status
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::NewTypeResolverForDescriptorPool
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:64,1
    - Dst: ::google::protobuf::DescriptorPool::generated_pool
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: test::grpc::CreateTypeResolver
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - ::google::protobuf::util::NewTypeResolverForDescriptorPool
    - ::google::protobuf::DescriptorPool::generated_pool
    linkageType: ''
    returnType: TypeResolver
    signature: TypeResolver *CreateTypeResolver()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::CreateTypeResolver
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: test::grpc::GetTypeResolver
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - test::grpc::CreateTypeResolver
    linkageType: ''
    returnType: TypeResolver
    signature: TypeResolver *GetTypeResolver()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:74,1
    - Dst: Message::GetDescriptor
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: test::grpc::GetTypeUrl
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - Message::GetDescriptor
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string GetTypeUrl(const Message &message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Status::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:80,1
    - Dst: absl::OkStatus
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - proto_status
    argTypes:
    - absl::Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: test::grpc::FromProto
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status FromProto(\n    const absl::Status &proto_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::NewTypeResolverForDescriptorPool
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:64,1
    - Dst: ::google::protobuf::DescriptorPool::generated_pool
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: test::grpc::CreateTypeResolver
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 1
    functionsReached:
    - ::google::protobuf::util::NewTypeResolverForDescriptorPool
    - ::google::protobuf::DescriptorPool::generated_pool
    linkageType: ''
    returnType: TypeResolver
    signature: TypeResolver *CreateTypeResolver()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::CreateTypeResolver
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: test::grpc::GetTypeResolver
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - test::grpc::CreateTypeResolver
    linkageType: ''
    returnType: TypeResolver
    signature: TypeResolver *GetTypeResolver()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:74,1
    - Dst: Message::GetDescriptor
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: test::grpc::GetTypeUrl
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - Message::GetDescriptor
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string GetTypeUrl(const Message &message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Status::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:80,1
    - Dst: absl::OkStatus
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - proto_status
    argTypes:
    - absl::Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: test::grpc::FromProto
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status FromProto(\n    const absl::Status &proto_status)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonToBinaryString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:93,1
    - Dst: test::grpc::GetTypeResolver
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:94,1
    - Dst: test::grpc::GetTypeUrl
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:94,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:95,1
    - Dst: test::grpc::FromProto
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:96,1
    - Dst: Message*::ParseFromString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:98,1
    - Dst: absl::OkStatus
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:99,1
    - Dst: test::grpc::Parallel::AggregatedStatus::AggregatedStatus
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - json
    - message
    argTypes:
    - std::string
    - Message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: test::grpc::JsonToProto
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - ::google::protobuf::util::JsonToBinaryString
    - test::grpc::GetTypeUrl
    - absl::Status::ok
    - Message*::ParseFromString
    - test::grpc::FromProto
    - test::grpc::Parallel::AggregatedStatus::AggregatedStatus
    - test::grpc::GetTypeResolver
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status JsonToProto(const std::string &json,\n                                             Message
      *message)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Message::SerializeAsString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:117,1
    - Dst: std::string::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:118,1
    - Dst: std::string::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:119,1
    - Dst: ::google::protobuf::util::BinaryToJsonStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:121,1
    - Dst: test::grpc::GetTypeResolver
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:122,1
    - Dst: test::grpc::GetTypeUrl
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:122,1
    - Dst: test::grpc::FromProto
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - message
    - json
    - options
    argTypes:
    - Message
    - ::google::protobuf::io::ZeroCopyOutputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 125
    functionName: test::grpc::ProtoToJson
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - test::grpc::GetTypeUrl
    - std::string::data
    - test::grpc::FromProto
    - Message::SerializeAsString
    - test::grpc::GetTypeResolver
    - ::google::protobuf::util::BinaryToJsonStream
    - std::string::size
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status ProtoToJson(\n    const Message &message, ::google::protobuf::io::ZeroCopyOutputStream
      *json,\n    int options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InsecureChannelCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unused_desc
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - InsecureChannelCredentials
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const T &unused_desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CallConfig::use_ssl
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:138,1
    - Dst: ::grpc::SslCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:140,1
    - Dst: InsecureChannelCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - call_config
    argTypes:
    - CallConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - CallConfig::use_ssl
    - InsecureChannelCredentials
    - ::grpc::SslCredentials
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const CallConfig &call_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:147,1
    - Dst: EchoTest::call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - EchoTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 1
    functionsReached:
    - test::grpc::GetCreds
    - EchoTest::call_config
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const EchoTest &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:152,1
    - Dst: EchoStreamTest::call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - EchoStreamTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - test::grpc::GetCreds
    - EchoStreamTest::call_config
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const EchoStreamTest &desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParallelTest::subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:157,1
    - Dst: auto::plan_case
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:158,1
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:160,1
    - Dst: auto::echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:160,1
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:162,1
    - Dst: auto::echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:162,1
    - Dst: InsecureChannelCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - desc
    argTypes:
    - ParallelTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 3
    functionsReached:
    - auto::plan_case
    - ParallelTest::subtests
    - test::grpc::GetCreds
    - InsecureChannelCredentials
    - auto::echo
    - auto::echo_stream
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const ParallelTest &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChannelArguments::SetMaxReceiveMessageSize
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:173,1
    - Dst: ChannelArguments::SetMaxSendMessageSize
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:174,1
    - Dst: std::unique_ptr<Test::Stub>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:177,1
    - Dst: Test::NewStub
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - addr
    - desc
    argTypes:
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: test::grpc::GetStub
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - Test::NewStub
    - ChannelArguments::SetMaxSendMessageSize
    - std::unique_ptr<Test::Stub>
    - ChannelArguments::SetMaxReceiveMessageSize
    linkageType: ''
    returnType: std::unique_ptr<Test::Stub>
    signature: "std::unique_ptr<Test::Stub> GetStub(const std::string &addr,\n                                           const
      T &desc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CallConfig::api_key
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:181,1
    - Dst: ClientContext*::AddMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:182,1
    - Dst: CallConfig::api_key
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:182,1
    - Dst: CallConfig::auth_token
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:184,1
    - Dst: ClientContext*::AddMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:185,1
    - Dst: CallConfig::auth_token
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:185,1
    - Dst: CallConfig::metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:187,1
    - Dst: ClientContext*::AddMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:188,1
    - Dst: CallConfig::compression
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:190,1
    - Dst: ClientContext*::set_compression_algorithm
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:191,1
    - Dst: static_cast<grpc_compression_algorithm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:192,1
    - Dst: CallConfig::compression
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - call_config
    - ctx
    argTypes:
    - CallConfig
    - ClientContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: test::grpc::SetCallConfig
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - ClientContext*::set_compression_algorithm
    - ClientContext*::AddMetadata
    - CallConfig::auth_token
    - CallConfig::compression
    - CallConfig::api_key
    - CallConfig::metadata
    - static_cast<grpc_compression_algorithm>
    linkageType: ''
    returnType: void
    signature: void SetCallConfig(const CallConfig &call_config, ClientContext *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:202,1
    - Dst: first::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:202,1
    - Dst: first::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:202,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:203,1
    - Dst: second::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:203,1
    - Dst: second::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:203,1
    - Dst: T1::find
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:204,1
    - Dst: T1::end
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:204,1
    - Dst: T1::at
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:205,1
    - Dst: google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>*::Add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:208,1
    - Dst: auto*::set_key
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:209,1
    - Dst: auto*::set_expected
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:210,1
    - Dst: T1::at
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:210,1
    - Dst: auto*::set_actual
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - expected
    - actual
    - results
    argTypes:
    - T1
    - T2
    - google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 215
    functionName: test::grpc::VerifyMetadata
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - auto*::set_expected
    - first::data
    - auto*::set_key
    - first::size
    - auto*::set_actual
    - second::size
    - google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>*::Add
    - T1::end
    - second::data
    - T1::find
    - std::string
    - T1::at
    linkageType: ''
    returnType: int
    signature: "int VerifyMetadata(\n    const T1 &expected, const T2 &actual,\n    google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>
      *results)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size_dist
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:223,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:225,1
    - Dst: byte_dist
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:229,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:231,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - max_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 232
    functionName: test::grpc::RandomString
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::string
    - reinterpret_cast<const char *>
    - byte_dist
    - size_dist
    linkageType: ''
    returnType: std::string
    signature: std::string RandomString(int max_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoRequest*::random_payload_max_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:235,1
    - Dst: EchoRequest*::set_text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:236,1
    - Dst: test::grpc::RandomString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:236,1
    - Dst: EchoRequest*::random_payload_max_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:236,1
    - Dst: EchoRequest*::space_payload_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:238,1
    - Dst: EchoRequest*::set_text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:239,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:239,1
    - Dst: EchoRequest*::space_payload_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - EchoRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: test::grpc::CreateEchoRequestText
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - test::grpc::RandomString
    - EchoRequest*::set_text
    - EchoRequest*::space_payload_size
    - EchoRequest*::random_payload_max_size
    - std::string
    linkageType: ''
    returnType: void
    signature: void CreateEchoRequestText(EchoRequest *request)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CallStatus::details
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:244,1
    - Dst: test::grpc::JsonToProto
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:248,1
    - Dst: ::test::grpc::GrpcErrorDetail::SerializeToString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:249,1
    - Dst: std::to_string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:251,1
    - Dst: CallStatus::code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - status
    argTypes:
    - CallStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 252
    functionName: test::grpc::GetStatusAggregationKey
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - ::test::grpc::GrpcErrorDetail::SerializeToString
    - CallStatus::details
    - CallStatus::code
    - std::to_string
    - test::grpc::JsonToProto
    linkageType: ''
    returnType: std::string
    signature: std::string GetStatusAggregationKey(const CallStatus &status)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Echo::Echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:261,1
    - Dst: Test::Stub*::AsyncEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:262,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:262,1
    - Dst: std::shared_ptr::rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:263,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:266,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:267,1
    - Dst: std::shared_ptr::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:267,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:268,1
    - Dst: std::shared_ptr::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:268,1
    - Dst: TestResult::mutable_echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:270,1
    - Dst: std::shared_ptr::response_::text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:270,1
    - Dst: std::shared_ptr::desc_::expected_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:275,1
    - Dst: std::shared_ptr::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:276,1
    - Dst: std::shared_ptr::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:277,1
    - Dst: std::shared_ptr::desc_::expected_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:278,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:280,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:281,1
    - Dst: std::shared_ptr::response_::text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:281,1
    - Dst: TestResult::mutable_echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:284,1
    - Dst: VerifyMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:286,1
    - Dst: std::shared_ptr::desc_::call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:287,1
    - Dst: std::shared_ptr::response_::received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:288,1
    - Dst: VerifyMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:289,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:290,1
    - Dst: std::shared_ptr::ctx_::GetServerInitialMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:291,1
    - Dst: VerifyMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:292,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:293,1
    - Dst: std::shared_ptr::ctx_::GetServerTrailingMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:294,1
    - Dst: TestResult::mutable_echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:295,1
    - Dst: auto*::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:296,1
    - Dst: std::shared_ptr::desc_::expected_metadata_keys
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:299,1
    - Dst: std::shared_ptr::response_::received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:300,1
    - Dst: std::shared_ptr::response_::received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:301,1
    - Dst: TestResult::mutable_additional_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:302,1
    - Dst: done
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:305,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - EchoTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 307
    functionName: test::grpc::Echo::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::response_::received_metadata
    - std::shared_ptr::ctx_::GetServerTrailingMetadata
    - std::shared_ptr::desc_::expected_metadata_keys
    - auto*::size
    - std::shared_ptr::desc_::call_config
    - TestResult::mutable_echo
    - std::shared_ptr::desc_::expected_status
    - std::shared_ptr::status_::error_message
    - TestResult::mutable_additional_metadata
    - std::shared_ptr::desc_::request
    - std::shared_ptr::response_::text
    - done
    - std::shared_ptr::ctx_::GetServerInitialMetadata
    - std::shared_ptr::status_::ok
    - VerifyMetadata
    - std::shared_ptr::rpc_::Finish
    - Test::Stub*::AsyncEcho
    - Echo::Echo
    - std::shared_ptr::status_::error_code
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const EchoTest &desc, Test::Stub *server_stub,\n                    Test::Stub
      *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetCallConfig
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:312,1
    - Dst: call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:312,1
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:313,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - desc
    - done
    argTypes:
    - EchoTest
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: test::grpc::Echo::Echo
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - call_config
    - CreateEchoRequestText
    - mutable_request
    - SetCallConfig
    linkageType: ''
    returnType: void
    signature: void Echo(const EchoTest &desc, std::function<void(bool, const TestResult
      &)> done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoReport::EchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:331,1
    - Dst: Test::Stub*::AsyncEchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:333,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:333,1
    - Dst: std::shared_ptr::rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:334,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:337,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:338,1
    - Dst: std::shared_ptr::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:338,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:339,1
    - Dst: std::shared_ptr::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:339,1
    - Dst: TestResult::mutable_echo_report
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:342,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:345,1
    - Dst: MessageDifferencer::Equals
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:346,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:346,1
    - Dst: done
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:349,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - EchoReportTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 351
    functionName: test::grpc::EchoReport::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - MessageDifferencer::Equals
    - std::shared_ptr::rpc_::Finish
    - done
    - TestResult::mutable_echo_report
    - Test::Stub*::AsyncEchoReport
    - EchoReport::EchoReport
    - std::shared_ptr::status_::ok
    - std::shared_ptr::status_::error_message
    - std::shared_ptr::status_::error_code
    - Tag::Tag
    - std::shared_ptr::desc_::request
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const EchoReportTest &desc, Test::Stub *server_stub,\n
      \                   Test::Stub *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - desc
    - done
    argTypes:
    - EchoReportTest
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: test::grpc::EchoReport::EchoReport
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EchoReport(const EchoReportTest &desc,\n             std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EchoStream::EchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:373,1
    - Dst: Test::Stub*::AsyncEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:375,1
    - Dst: test::grpc::EchoStream::StartWrite
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:377,1
    - Dst: test::grpc::EchoStream::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:378,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:380,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - EchoStreamTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 383
    functionName: test::grpc::EchoStream::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - Test::Stub*::AsyncEchoStream
    - test::grpc::EchoStream::StartRead
    - EchoStream::EchoStream
    - test::grpc::EchoStream::StartWrite
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: "void Start(const EchoStreamTest &desc, Test::Stub *server_stub,\n
      \                   Test::Stub *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EchoStreamTest::count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:392,1
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:393,1
    - Dst: SetCallConfig
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:394,1
    - Dst: call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:394,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:395,1
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - EchoStreamTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 398
    functionName: test::grpc::EchoStream::EchoStream
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - call_config
    - mutable_request
    - SetCallConfig
    - EchoStreamTest::count
    - time
    - CreateEchoRequestText
    linkageType: ''
    returnType: void
    signature: "void EchoStream(const EchoStreamTest &desc, Test::Stub *server_stub,\n
      \            CompletionQueue *cq,\n             std::function<void(bool, const
      TestResult &)> done)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<EchoStream>::desc_::request_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:409,1
    - Dst: std::shared_ptr<EchoStream>::desc_::request_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:410,1
    - Dst: std::shared_ptr<EchoStream>::desc_::expected_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:412,1
    - Dst: CallStatus::code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:413,1
    - Dst: Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: StatusCode
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: CallStatus::code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: CallStatus::details
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: std::shared_ptr<EchoStream>::rpc_::Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:418,1
    - Dst: std::shared_ptr<EchoStream>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:418,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:425,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:418,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 428
    functionName: test::grpc::EchoStream::StartWrite
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 1
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - CallStatus::details
    - std::shared_ptr<EchoStream>::desc_::expected_status
    - CallStatus::code
    - std::shared_ptr<EchoStream>::desc_::request_size
    - std::shared_ptr<EchoStream>::desc_::request
    - Status
    - std::shared_ptr<EchoStream>::rpc_::Write
    - Tag::Tag
    - StatusCode
    linkageType: ''
    returnType: void
    signature: "void StartWrite(std::shared_ptr<EchoStream> es,\n                         bool
      write_accounted_for = false)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<EchoResponse>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:431,1
    - Dst: std::shared_ptr<EchoStream>::rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:432,1
    - Dst: auto::get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:432,1
    - Dst: test::grpc::EchoStream::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:434,1
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:437,1
    - Dst: std::shared_ptr<EchoStream>::desc_::count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:439,1
    - Dst: std::shared_ptr<EchoStream>::desc_::count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:440,1
    - Dst: std::shared_ptr<EchoStream>::desc_::duration_in_sec
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:441,1
    - Dst: std::shared_ptr<EchoStream>::desc_::duration_in_sec
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:443,1
    - Dst: test::grpc::EchoStream::StartWrite
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:444,1
    - Dst: test::grpc::EchoStream::StartDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:446,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:450,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 453
    functionName: test::grpc::EchoStream::StartRead
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - std::shared_ptr<EchoStream>::desc_::count
    - std::shared_ptr<EchoStream>::desc_::duration_in_sec
    - std::make_shared<EchoResponse>
    - auto::get
    - test::grpc::EchoStream::StartRead
    - time
    - test::grpc::EchoStream::StartWrite
    - Tag::Tag
    - std::shared_ptr<EchoStream>::rpc_::Read
    - test::grpc::EchoStream::StartDone
    linkageType: ''
    returnType: void
    signature: void StartRead(std::shared_ptr<EchoStream> es)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<EchoStream>::rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:460,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:460,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: test::grpc::EchoStream::StartDone
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 1
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - Tag::Tag
    - std::shared_ptr<EchoStream>::rpc_::WritesDone
    linkageType: ''
    returnType: void
    signature: void StartDone(std::shared_ptr<EchoStream> es)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<EchoStream>::rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:468,1
    - Dst: std::shared_ptr<EchoStream>::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:471,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:472,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:472,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:473,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:473,1
    - Dst: TestResult::mutable_echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:476,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:478,1
    - Dst: std::shared_ptr<EchoStream>::status_expected_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:478,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:482,1
    - Dst: std::shared_ptr<EchoStream>::status_expected_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:483,1
    - Dst: std::shared_ptr<EchoStream>::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:484,1
    - Dst: std::shared_ptr<EchoStream>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:488,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 490
    functionName: test::grpc::EchoStream::StartFinish
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - TestResult::mutable_echo_stream
    - std::shared_ptr<EchoStream>::status_expected_::error_code
    - std::shared_ptr<EchoStream>::status_::error_message
    - std::shared_ptr<EchoStream>::done_
    - std::shared_ptr<EchoStream>::rpc_::Finish
    - std::shared_ptr<EchoStream>::status_::ok
    - std::shared_ptr<EchoStream>::status_expected_::error_message
    - std::shared_ptr<EchoStream>::status_::error_code
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: void StartFinish(std::shared_ptr<EchoStream> es)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Parallel::Parallel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:517,1
    - Dst: test::grpc::Parallel::StartTests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ParallelTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: test::grpc::Parallel::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - Parallel::Parallel
    - test::grpc::Parallel::StartTests
    linkageType: ''
    returnType: void
    signature: "void Start(const ParallelTest &desc, Test::Stub *server_stub,\n                    Test::Stub
      *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::Parallel::GetWeightSum
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:529,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:530,1
    - Dst: ParallelTest::subtests_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ParallelTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 531
    functionName: test::grpc::Parallel::Parallel
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - test::grpc::Parallel::GetWeightSum
    - ParallelTest::subtests_size
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: "void Parallel(const ParallelTest &desc, Test::Stub *server_stub,\n
      \          CompletionQueue *cq,\n           std::function<void(bool, const TestResult
      &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParallelTest::subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:535,1
    - Dst: weight
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - desc
    argTypes:
    - ParallelTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 539
    functionName: test::grpc::Parallel::GetWeightSum
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 1
    functionsReached:
    - ParallelTest::subtests
    - weight
    linkageType: ''
    returnType: int
    signature: int GetWeightSum(const ParallelTest &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::Parallel::StartTestsLocked
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::shared_ptr<Parallel>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: test::grpc::Parallel::StartTests
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 1
    functionsReached:
    - test::grpc::Parallel::StartTestsLocked
    linkageType: ''
    returnType: void
    signature: void StartTests(std::shared_ptr<Parallel> p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Parallel>::desc_::parallel_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:547,1
    - Dst: std::shared_ptr<Parallel>::desc_::test_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:548,1
    - Dst: std::shared_ptr<Parallel>::NextSubtestType
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:555,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:557,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:561,1
    - Dst: SubtestStats::AddFailure
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:570,1
    - Dst: status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:570,1
    - Dst: SubtestStats::latencies::push_front
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:572,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:573,1
    - Dst: test::grpc::Parallel::StartTestsLocked
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:575,1
    - Dst: std::shared_ptr<Parallel>::desc_::test_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:576,1
    - Dst: std::shared_ptr<Parallel>::CalculateStats
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:577,1
    - Dst: std::shared_ptr<Parallel>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:578,1
    - Dst: std::shared_ptr<Parallel>::desc_::subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:582,1
    - Dst: auto::plan_case
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:583,1
    - Dst: test::grpc::Echo::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:585,1
    - Dst: auto::echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:585,1
    - Dst: test::grpc::EchoStream::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:589,1
    - Dst: auto::echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:589,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::shared_ptr<Parallel>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 546
    functionDepth: 2
    functionLinenumber: 546
    functionLinenumberEnd: 597
    functionName: test::grpc::Parallel::StartTestsLocked
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - SubtestStats::latencies::push_front
    - std::shared_ptr<Parallel>::CalculateStats
    - auto::plan_case
    - SubtestStats::AddFailure
    - std::shared_ptr<Parallel>::desc_::parallel_limit
    - std::shared_ptr<Parallel>::desc_::subtests
    - status
    - test::grpc::Parallel::StartTestsLocked
    - test::grpc::Echo::Start
    - std::shared_ptr<Parallel>::done_
    - auto::echo
    - test::grpc::EchoStream::Start
    - std::chrono::duration_cast<std::chrono::microseconds>
    - auto::echo_stream
    - std::shared_ptr<Parallel>::NextSubtestType
    - std::shared_ptr<Parallel>::desc_::test_count
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: void StartTestsLocked(std::shared_ptr<Parallel> p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:609,1
    - Dst: weight
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:610,1
    - Dst: weight
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 617
    functionName: test::grpc::Parallel::NextSubtestType
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - subtests
    - weight
    linkageType: ''
    returnType: int
    signature: int NextSubtestType()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mutable_parallel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:621,1
    - Dst: auto*::set_total_time_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:622,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:623,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:624,1
    - Dst: auto*::add_stats
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:629,1
    - Dst: ParallelSubtestStats*::set_succeeded_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:630,1
    - Dst: ParallelSubtestStats*::set_failed_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:631,1
    - Dst: count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:637,1
    - Dst: count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:643,1
    - Dst: std::sqrt
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:647,1
    - Dst: ParallelSubtestStats*::set_mean_latency_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:649,1
    - Dst: ParallelSubtestStats*::set_stddev_latency_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:650,1
    - Dst: second::Fill
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:653,1
    - Dst: ParallelSubtestStats*::add_failures
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:653,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:657,1
    - Dst: test_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:657,1
    - Dst: allowed_failure_rate
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:657,1
    - Dst: mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:658,1
    - Dst: mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 664
    functionName: test::grpc::Parallel::CalculateStats
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - second::Fill
    - mutable_parallel
    - std::sqrt
    - ParallelSubtestStats*::add_failures
    - ParallelSubtestStats*::set_failed_count
    - ParallelSubtestStats*::set_stddev_latency_micros
    - ParallelSubtestStats*::set_succeeded_count
    - count
    - static_cast<int>
    - auto*::add_stats
    - test_count
    - mutable_status
    - std::chrono::duration_cast<std::chrono::microseconds>
    - ParallelSubtestStats*::set_mean_latency_micros
    - allowed_failure_rate
    - auto*::set_total_time_micros
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: void CalculateStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - CallStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 670
    functionName: test::grpc::Parallel::AggregatedStatus::AggregatedStatus
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 1
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void AggregatedStatus(const CallStatus &status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 675
    functionName: test::grpc::Parallel::AggregatedStatus::Inc
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void Inc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AggregatedCallStatus*::set_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:678,1
    - Dst: AggregatedCallStatus*::set_start_time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:679,1
    - Dst: ctime
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:679,1
    - Dst: AggregatedCallStatus*::set_end_time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:680,1
    - Dst: ctime
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:680,1
    - Dst: AggregatedCallStatus*::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - call_status
    argTypes:
    - AggregatedCallStatus*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 682
    functionName: test::grpc::Parallel::AggregatedStatus::Fill
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - AggregatedCallStatus*::mutable_status
    - AggregatedCallStatus*::set_count
    - ctime
    - AggregatedCallStatus*::set_end_time
    - AggregatedCallStatus*::set_start_time
    linkageType: ''
    returnType: void
    signature: void Fill(AggregatedCallStatus *call_status) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetStatusAggregationKey
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:698,1
    - Dst: find
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:699,1
    - Dst: end
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:700,1
    - Dst: emplace
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:701,1
    - Dst: std::map<std::string, AggregatedStatus>::iterator::second::Inc
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - status
    argTypes:
    - CallStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 705
    functionName: test::grpc::Parallel::AddFailure
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::map<std::string, AggregatedStatus>::iterator::second::Inc
    - emplace
    - GetStatusAggregationKey
    - find
    - end
    linkageType: ''
    returnType: void
    signature: void AddFailure(const CallStatus &status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProbeCallLimit::ProbeCallLimit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:731,1
    - Dst: Test::Stub*::AsyncCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:733,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:736,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:737,1
    - Dst: std::shared_ptr::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:739,1
    - Dst: test::grpc::ProbeCallLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:742,1
    - Dst: test::grpc::ProbeCallLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:743,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ProbeCallLimitTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 745
    functionName: test::grpc::ProbeCallLimit::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::done_
    - ProbeCallLimit::ProbeCallLimit
    - Test::Stub*::AsyncCork
    - test::grpc::ProbeCallLimit::StartProbe
    - test::grpc::ProbeCallLimit::StartReadCorkState
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const ProbeCallLimitTest &desc, Test::Stub *server_stub,\n
      \                   Test::Stub *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:752,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ProbeCallLimitTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 753
    functionName: test::grpc::ProbeCallLimit::ProbeCallLimit
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - CreateEchoRequestText
    - mutable_request
    linkageType: ''
    returnType: void
    signature: "void ProbeCallLimit(const ProbeCallLimitTest &desc, Test::Stub *server_stub,\n
      \                CompletionQueue *cq,\n                 std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:756,1
    - Dst: test::grpc::ProbeCallLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:766,1
    - Dst: std::shared_ptr<ProbeCallLimit>::alarm_::Cancel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:773,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeCallLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 776
    functionName: test::grpc::ProbeCallLimit::StartReadCorkState
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - test::grpc::ProbeCallLimit::StartReadCorkState
    - std::shared_ptr<ProbeCallLimit>::cork_rpc_::Read
    - Tag::Tag
    - std::shared_ptr<ProbeCallLimit>::alarm_::Cancel
    linkageType: ''
    returnType: void
    signature: void StartReadCorkState(std::shared_ptr<ProbeCallLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeCallLimit>::alarm_::reset
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:780,1
    - Dst: gpr_time_add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:782,1
    - Dst: gpr_now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:783,1
    - Dst: gpr_time_from_millis
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:784,1
    - Dst: std::shared_ptr<ProbeCallLimit>::desc_::timeout_ms
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:784,1
    - Dst: std::shared_ptr<ProbeCallLimit>::alarm_::reset
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:789,1
    - Dst: test::grpc::ProbeCallLimit::OnTimeout
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:790,1
    - Dst: test::grpc::ProbeCallLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:795,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:785,1
    - Dst: Alarm::Alarm
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:780,1
    - Dst: EchoResponse::EchoResponse
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:800,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:801,1
    - Dst: ClientContext::ClientContext
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:802,1
    - Dst: std::shared_ptr<ProbeCallLimit>::server_stub_::AsyncEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:804,1
    - Dst: std::shared_ptr<ProbeCallLimit>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:804,1
    - Dst: ClientAsyncResponseReader*::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:808,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeCallLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 818
    functionName: test::grpc::ProbeCallLimit::StartProbe
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - std::shared_ptr<ProbeCallLimit>::desc_::request
    - ClientAsyncResponseReader*::Finish
    - gpr_now
    - Alarm::Alarm
    - gpr_time_from_millis
    - std::shared_ptr<ProbeCallLimit>::alarm_::reset
    - std::shared_ptr<ProbeCallLimit>::server_stub_::AsyncEcho
    - test::grpc::ProbeCallLimit::OnTimeout
    - Status::Status
    - gpr_time_add
    - test::grpc::ProbeCallLimit::StartProbe
    - ClientContext::ClientContext
    - Tag::Tag
    - EchoResponse::EchoResponse
    - std::shared_ptr<ProbeCallLimit>::desc_::timeout_ms
    linkageType: ''
    returnType: void
    signature: void StartProbe(std::shared_ptr<ProbeCallLimit> pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_state_::current_corked_calls
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:823,1
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:825,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:826,1
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:827,1
    - Dst: TestResult::mutable_probe_call_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:831,1
    - Dst: std::shared_ptr<ProbeCallLimit>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:832,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:828,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeCallLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 835
    functionName: test::grpc::ProbeCallLimit::OnTimeout
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 1
    functionsReached:
    - std::shared_ptr<ProbeCallLimit>::cork_rpc_::WritesDone
    - TestResult::mutable_probe_call_limit
    - Status::Status
    - std::shared_ptr<ProbeCallLimit>::cork_rpc_::Finish
    - std::shared_ptr<ProbeCallLimit>::cork_state_::current_corked_calls
    - std::shared_ptr<ProbeCallLimit>::done_
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: void OnTimeout(std::shared_ptr<ProbeCallLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:864,1
    - Dst: Test::Stub*::AsyncCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:866,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:869,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:870,1
    - Dst: std::shared_ptr::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:872,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:875,1
    - Dst: std::shared_ptr::server_stub_::AsyncEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:876,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:878,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:879,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:877,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ProbeDownstreamMessageLimitTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 882
    functionName: test::grpc::ProbeDownstreamMessageLimit::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::done_
    - test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
    - std::shared_ptr::server_stub_::AsyncEchoStream
    - Test::Stub*::AsyncCork
    - test::grpc::ProbeDownstreamMessageLimit::StartProbe
    - ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
    - test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const ProbeDownstreamMessageLimitTest &desc,\n                    Test::Stub
      *server_stub, Test::Stub *direct_stub,\n                    CompletionQueue
      *cq,\n                    std::function<void(bool, const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:889,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ProbeDownstreamMessageLimitTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 890
    functionName: test::grpc::ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - CreateEchoRequestText
    - mutable_request
    linkageType: ''
    returnType: void
    signature: "void ProbeDownstreamMessageLimit(\n      const ProbeDownstreamMessageLimitTest
      &desc, Test::Stub *server_stub,\n      CompletionQueue *cq, std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:894,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:898,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 900
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
    - std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Read
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: "void StartReadCorkState(\n      std::shared_ptr<ProbeDownstreamMessageLimit>
      pc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:904,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:908,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 910
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - Tag::Tag
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Read
    - test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
    linkageType: ''
    returnType: void
    signature: "void StartReadStreamMessages(\n      std::shared_ptr<ProbeDownstreamMessageLimit>
      pc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Alarm>::shared_ptr<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:919,1
    - Dst: std::make_shared<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:920,1
    - Dst: gpr_time_add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:922,1
    - Dst: gpr_now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:923,1
    - Dst: gpr_time_from_millis
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:924,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::timeout_ms
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:924,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::OnTimeout
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:929,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:932,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:925,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:940,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:940,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:943,1
    - Dst: std::shared_ptr::Cancel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:952,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 954
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartProbe
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - std::make_shared<Alarm>
    - gpr_now
    - gpr_time_from_millis
    - std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::timeout_ms
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Write
    - test::grpc::ProbeDownstreamMessageLimit::OnTimeout
    - gpr_time_add
    - std::shared_ptr<Alarm>::shared_ptr<Alarm>
    - test::grpc::ProbeDownstreamMessageLimit::StartProbe
    - std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::request
    - Tag::Tag
    - test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
    - std::shared_ptr::Cancel
    linkageType: ''
    returnType: void
    signature: void StartProbe(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:960,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:961,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:962,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:965,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:962,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:960,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 972
    functionName: test::grpc::ProbeDownstreamMessageLimit::OnTimeout
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 1
    functionsReached:
    - std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::WritesDone
    - std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Finish
    - test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
    - Status::Status
    - Tag::Tag
    - test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
    linkageType: ''
    returnType: void
    signature: void OnTimeout(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:975,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:976,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:977,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:980,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:977,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 983
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Finish
    - test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
    - Status::Status
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::WritesDone
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: void StartWritesDone(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TestResult::mutable_probe_downstream_message_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:991,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 994
    functionName: test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - TestResult::mutable_probe_downstream_message_limit
    - std::shared_ptr<ProbeDownstreamMessageLimit>::done_
    linkageType: ''
    returnType: void
    signature: void TryIssueReport(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1032,1
    - Dst: std::shared_ptr::server_stub_::AsyncEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1033,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1037,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1038,1
    - Dst: std::shared_ptr::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1040,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1043,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ProbeUpstreamMessageLimitTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1045
    functionName: test::grpc::ProbeUpstreamMessageLimit::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::done_
    - ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
    - std::shared_ptr::server_stub_::AsyncEchoStream
    - test::grpc::ProbeUpstreamMessageLimit::StartProbe
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const ProbeUpstreamMessageLimitTest &desc,\n                    Test::Stub
      *server_stub, Test::Stub *direct_stub,\n                    CompletionQueue
      *cq,\n                    std::function<void(bool, const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1052,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ProbeUpstreamMessageLimitTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1053
    functionName: test::grpc::ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - CreateEchoRequestText
    - mutable_request
    linkageType: ''
    returnType: void
    signature: "void ProbeUpstreamMessageLimit(const ProbeUpstreamMessageLimitTest
      &desc,\n                            Test::Stub *server_stub, CompletionQueue
      *cq,\n                            std::function<void(bool, const TestResult
      &)> done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1059,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1063,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1065
    functionName: test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 1
    functionsReached:
    - Tag::Tag
    - test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Read
    linkageType: ''
    returnType: void
    signature: "void StartReadStreamMessages(\n      std::shared_ptr<ProbeUpstreamMessageLimit>
      pc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Alarm>::shared_ptr<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1074,1
    - Dst: std::make_shared<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1075,1
    - Dst: gpr_time_add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1077,1
    - Dst: gpr_now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1078,1
    - Dst: gpr_time_from_millis
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1079,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::timeout_ms
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1079,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::OnTimeout
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1084,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1087,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1080,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1095,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1095,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1098,1
    - Dst: std::shared_ptr::Cancel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1105,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1107
    functionName: test::grpc::ProbeUpstreamMessageLimit::StartProbe
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - std::make_shared<Alarm>
    - gpr_now
    - std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::timeout_ms
    - gpr_time_from_millis
    - std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::request
    - gpr_time_add
    - test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
    - std::shared_ptr<Alarm>::shared_ptr<Alarm>
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Write
    - test::grpc::ProbeUpstreamMessageLimit::StartProbe
    - test::grpc::ProbeUpstreamMessageLimit::OnTimeout
    - Tag::Tag
    - std::shared_ptr::Cancel
    linkageType: ''
    returnType: void
    signature: void StartProbe(std::shared_ptr<ProbeUpstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1114,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1109
    functionDepth: 2
    functionLinenumber: 1109
    functionLinenumberEnd: 1119
    functionName: test::grpc::ProbeUpstreamMessageLimit::OnTimeout
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 1
    functionsReached:
    - test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
    - test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
    linkageType: ''
    returnType: void
    signature: void OnTimeout(std::shared_ptr<ProbeUpstreamMessageLimit> pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1122,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1123,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1124,1
    - Dst: TestResult::mutable_probe_upstream_message_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1128,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1130,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1125,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1133
    functionName: test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - TestResult::mutable_probe_upstream_message_limit
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Finish
    - Status::Status
    - std::shared_ptr<ProbeUpstreamMessageLimit>::done_
    - Tag::Tag
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::WritesDone
    linkageType: ''
    returnType: void
    signature: void StartWritesDone(std::shared_ptr<ProbeUpstreamMessageLimit> pc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TestPlans::server_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1153,1
    - Dst: test::grpc::GetStub
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1154,1
    - Dst: TestPlans::server_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1154,1
    - Dst: TestPlans::direct_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1156,1
    - Dst: test::grpc::GetStub
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1157,1
    - Dst: TestPlans::direct_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1157,1
    - Dst: test::grpc::Echo::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1162,1
    - Dst: std::unique_ptr::get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1162,1
    - Dst: get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1162,1
    - Dst: CompletionQueue::Shutdown
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1165,1
    - Dst: TestPlans::has_warmup
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1169,1
    - Dst: test::grpc::Echo::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: TestPlans::warmup
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: std::unique_ptr::get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: start_test
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1173,1
    - Dst: start_test
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1177,1
    - Dst: CompletionQueue::Next
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1183,1
    - Dst: reinterpret_cast<Tag *>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - plans
    - desc
    - result
    argTypes:
    - TestPlans
    - typename T::TestDesc
    - TestResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1149
    functionDepth: 1
    functionLinenumber: 1149
    functionLinenumberEnd: 1188
    functionName: test::grpc::RunSync
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - TestPlans::warmup
    - reinterpret_cast<Tag *>
    - std::unique_ptr::get
    - TestPlans::direct_addr
    - test::grpc::Echo::Start
    - start_test
    - TestPlans::has_warmup
    - TestPlans::server_addr
    - test::grpc::GetStub
    - get
    - CompletionQueue::Shutdown
    - CompletionQueue::Next
    linkageType: ''
    returnType: void
    signature: "void RunSync(const TestPlans &plans, const typename T::TestDesc &desc,\n
      \            TestResult *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InsecureChannelCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unused_desc
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 3
    functionsReached:
    - InsecureChannelCredentials
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const T &unused_desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CallConfig::use_ssl
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:138,1
    - Dst: ::grpc::SslCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:140,1
    - Dst: InsecureChannelCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - call_config
    argTypes:
    - CallConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 3
    functionsReached:
    - CallConfig::use_ssl
    - InsecureChannelCredentials
    - ::grpc::SslCredentials
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const CallConfig &call_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:147,1
    - Dst: EchoTest::call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - EchoTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - test::grpc::GetCreds
    - EchoTest::call_config
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const EchoTest &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:152,1
    - Dst: EchoStreamTest::call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - EchoStreamTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 5
    functionsReached:
    - test::grpc::GetCreds
    - EchoStreamTest::call_config
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const EchoStreamTest &desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParallelTest::subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:157,1
    - Dst: auto::plan_case
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:158,1
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:160,1
    - Dst: auto::echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:160,1
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:162,1
    - Dst: auto::echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:162,1
    - Dst: InsecureChannelCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - desc
    argTypes:
    - ParallelTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - auto::plan_case
    - ParallelTest::subtests
    - test::grpc::GetCreds
    - InsecureChannelCredentials
    - auto::echo
    - auto::echo_stream
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const ParallelTest &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChannelArguments::SetMaxReceiveMessageSize
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:173,1
    - Dst: ChannelArguments::SetMaxSendMessageSize
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:174,1
    - Dst: std::unique_ptr<Test::Stub>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:177,1
    - Dst: Test::NewStub
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - addr
    - desc
    argTypes:
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: test::grpc::GetStub
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 1
    functionsReached:
    - Test::NewStub
    - ChannelArguments::SetMaxSendMessageSize
    - std::unique_ptr<Test::Stub>
    - ChannelArguments::SetMaxReceiveMessageSize
    linkageType: ''
    returnType: std::unique_ptr<Test::Stub>
    signature: "std::unique_ptr<Test::Stub> GetStub(const std::string &addr,\n                                           const
      T &desc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CallConfig::api_key
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:181,1
    - Dst: ClientContext*::AddMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:182,1
    - Dst: CallConfig::api_key
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:182,1
    - Dst: CallConfig::auth_token
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:184,1
    - Dst: ClientContext*::AddMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:185,1
    - Dst: CallConfig::auth_token
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:185,1
    - Dst: CallConfig::metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:187,1
    - Dst: ClientContext*::AddMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:188,1
    - Dst: CallConfig::compression
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:190,1
    - Dst: ClientContext*::set_compression_algorithm
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:191,1
    - Dst: static_cast<grpc_compression_algorithm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:192,1
    - Dst: CallConfig::compression
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - call_config
    - ctx
    argTypes:
    - CallConfig
    - ClientContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: test::grpc::SetCallConfig
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - ClientContext*::set_compression_algorithm
    - ClientContext*::AddMetadata
    - CallConfig::auth_token
    - CallConfig::compression
    - CallConfig::api_key
    - CallConfig::metadata
    - static_cast<grpc_compression_algorithm>
    linkageType: ''
    returnType: void
    signature: void SetCallConfig(const CallConfig &call_config, ClientContext *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:202,1
    - Dst: first::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:202,1
    - Dst: first::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:202,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:203,1
    - Dst: second::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:203,1
    - Dst: second::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:203,1
    - Dst: T1::find
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:204,1
    - Dst: T1::end
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:204,1
    - Dst: T1::at
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:205,1
    - Dst: google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>*::Add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:208,1
    - Dst: auto*::set_key
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:209,1
    - Dst: auto*::set_expected
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:210,1
    - Dst: T1::at
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:210,1
    - Dst: auto*::set_actual
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - expected
    - actual
    - results
    argTypes:
    - T1
    - T2
    - google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 215
    functionName: test::grpc::VerifyMetadata
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - auto*::set_expected
    - first::data
    - auto*::set_key
    - first::size
    - auto*::set_actual
    - second::size
    - google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>*::Add
    - T1::end
    - second::data
    - T1::find
    - std::string
    - T1::at
    linkageType: ''
    returnType: int
    signature: "int VerifyMetadata(\n    const T1 &expected, const T2 &actual,\n    google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>
      *results)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size_dist
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:223,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:225,1
    - Dst: byte_dist
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:229,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:231,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - max_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 232
    functionName: test::grpc::RandomString
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 1
    functionsReached:
    - std::string
    - reinterpret_cast<const char *>
    - byte_dist
    - size_dist
    linkageType: ''
    returnType: std::string
    signature: std::string RandomString(int max_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoRequest*::random_payload_max_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:235,1
    - Dst: EchoRequest*::set_text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:236,1
    - Dst: test::grpc::RandomString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:236,1
    - Dst: EchoRequest*::random_payload_max_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:236,1
    - Dst: EchoRequest*::space_payload_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:238,1
    - Dst: EchoRequest*::set_text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:239,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:239,1
    - Dst: EchoRequest*::space_payload_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - EchoRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: test::grpc::CreateEchoRequestText
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - test::grpc::RandomString
    - EchoRequest*::set_text
    - EchoRequest*::space_payload_size
    - EchoRequest*::random_payload_max_size
    - std::string
    linkageType: ''
    returnType: void
    signature: void CreateEchoRequestText(EchoRequest *request)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CallStatus::details
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:244,1
    - Dst: test::grpc::JsonToProto
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:248,1
    - Dst: ::test::grpc::GrpcErrorDetail::SerializeToString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:249,1
    - Dst: std::to_string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:251,1
    - Dst: CallStatus::code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - status
    argTypes:
    - CallStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 252
    functionName: test::grpc::GetStatusAggregationKey
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - ::test::grpc::GrpcErrorDetail::SerializeToString
    - CallStatus::details
    - CallStatus::code
    - std::to_string
    - test::grpc::JsonToProto
    linkageType: ''
    returnType: std::string
    signature: std::string GetStatusAggregationKey(const CallStatus &status)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Echo::Echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:261,1
    - Dst: Test::Stub*::AsyncEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:262,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:262,1
    - Dst: std::shared_ptr::rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:263,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:266,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:267,1
    - Dst: std::shared_ptr::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:267,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:268,1
    - Dst: std::shared_ptr::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:268,1
    - Dst: TestResult::mutable_echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:270,1
    - Dst: std::shared_ptr::response_::text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:270,1
    - Dst: std::shared_ptr::desc_::expected_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:275,1
    - Dst: std::shared_ptr::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:276,1
    - Dst: std::shared_ptr::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:277,1
    - Dst: std::shared_ptr::desc_::expected_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:278,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:280,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:281,1
    - Dst: std::shared_ptr::response_::text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:281,1
    - Dst: TestResult::mutable_echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:284,1
    - Dst: VerifyMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:286,1
    - Dst: std::shared_ptr::desc_::call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:287,1
    - Dst: std::shared_ptr::response_::received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:288,1
    - Dst: VerifyMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:289,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:290,1
    - Dst: std::shared_ptr::ctx_::GetServerInitialMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:291,1
    - Dst: VerifyMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:292,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:293,1
    - Dst: std::shared_ptr::ctx_::GetServerTrailingMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:294,1
    - Dst: TestResult::mutable_echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:295,1
    - Dst: auto*::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:296,1
    - Dst: std::shared_ptr::desc_::expected_metadata_keys
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:299,1
    - Dst: std::shared_ptr::response_::received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:300,1
    - Dst: std::shared_ptr::response_::received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:301,1
    - Dst: TestResult::mutable_additional_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:302,1
    - Dst: done
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:305,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - EchoTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 307
    functionName: test::grpc::Echo::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - std::shared_ptr::response_::received_metadata
    - std::shared_ptr::ctx_::GetServerTrailingMetadata
    - std::shared_ptr::desc_::expected_metadata_keys
    - auto*::size
    - std::shared_ptr::desc_::call_config
    - TestResult::mutable_echo
    - std::shared_ptr::desc_::expected_status
    - std::shared_ptr::status_::error_message
    - TestResult::mutable_additional_metadata
    - std::shared_ptr::desc_::request
    - std::shared_ptr::response_::text
    - done
    - std::shared_ptr::ctx_::GetServerInitialMetadata
    - std::shared_ptr::status_::ok
    - VerifyMetadata
    - std::shared_ptr::rpc_::Finish
    - Test::Stub*::AsyncEcho
    - Echo::Echo
    - std::shared_ptr::status_::error_code
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const EchoTest &desc, Test::Stub *server_stub,\n                    Test::Stub
      *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetCallConfig
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:312,1
    - Dst: call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:312,1
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:313,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - desc
    - done
    argTypes:
    - EchoTest
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: test::grpc::Echo::Echo
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - call_config
    - CreateEchoRequestText
    - mutable_request
    - SetCallConfig
    linkageType: ''
    returnType: void
    signature: void Echo(const EchoTest &desc, std::function<void(bool, const TestResult
      &)> done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoReport::EchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:331,1
    - Dst: Test::Stub*::AsyncEchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:333,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:333,1
    - Dst: std::shared_ptr::rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:334,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:337,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:338,1
    - Dst: std::shared_ptr::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:338,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:339,1
    - Dst: std::shared_ptr::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:339,1
    - Dst: TestResult::mutable_echo_report
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:342,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:345,1
    - Dst: MessageDifferencer::Equals
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:346,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:346,1
    - Dst: done
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:349,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - EchoReportTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 351
    functionName: test::grpc::EchoReport::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - MessageDifferencer::Equals
    - std::shared_ptr::rpc_::Finish
    - done
    - TestResult::mutable_echo_report
    - Test::Stub*::AsyncEchoReport
    - EchoReport::EchoReport
    - std::shared_ptr::status_::ok
    - std::shared_ptr::status_::error_message
    - std::shared_ptr::status_::error_code
    - Tag::Tag
    - std::shared_ptr::desc_::request
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const EchoReportTest &desc, Test::Stub *server_stub,\n
      \                   Test::Stub *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - desc
    - done
    argTypes:
    - EchoReportTest
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: test::grpc::EchoReport::EchoReport
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EchoReport(const EchoReportTest &desc,\n             std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EchoStream::EchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:373,1
    - Dst: Test::Stub*::AsyncEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:375,1
    - Dst: test::grpc::EchoStream::StartWrite
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:377,1
    - Dst: test::grpc::EchoStream::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:378,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:380,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - EchoStreamTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 383
    functionName: test::grpc::EchoStream::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 1
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - Test::Stub*::AsyncEchoStream
    - test::grpc::EchoStream::StartRead
    - EchoStream::EchoStream
    - test::grpc::EchoStream::StartWrite
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: "void Start(const EchoStreamTest &desc, Test::Stub *server_stub,\n
      \                   Test::Stub *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EchoStreamTest::count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:392,1
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:393,1
    - Dst: SetCallConfig
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:394,1
    - Dst: call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:394,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:395,1
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - EchoStreamTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 398
    functionName: test::grpc::EchoStream::EchoStream
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - call_config
    - mutable_request
    - SetCallConfig
    - EchoStreamTest::count
    - time
    - CreateEchoRequestText
    linkageType: ''
    returnType: void
    signature: "void EchoStream(const EchoStreamTest &desc, Test::Stub *server_stub,\n
      \            CompletionQueue *cq,\n             std::function<void(bool, const
      TestResult &)> done)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<EchoStream>::desc_::request_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:409,1
    - Dst: std::shared_ptr<EchoStream>::desc_::request_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:410,1
    - Dst: std::shared_ptr<EchoStream>::desc_::expected_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:412,1
    - Dst: CallStatus::code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:413,1
    - Dst: Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: StatusCode
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: CallStatus::code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: CallStatus::details
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: std::shared_ptr<EchoStream>::rpc_::Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:418,1
    - Dst: std::shared_ptr<EchoStream>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:418,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:425,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:418,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 428
    functionName: test::grpc::EchoStream::StartWrite
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 3
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - CallStatus::details
    - std::shared_ptr<EchoStream>::desc_::expected_status
    - CallStatus::code
    - std::shared_ptr<EchoStream>::desc_::request_size
    - std::shared_ptr<EchoStream>::desc_::request
    - Status
    - std::shared_ptr<EchoStream>::rpc_::Write
    - Tag::Tag
    - StatusCode
    linkageType: ''
    returnType: void
    signature: "void StartWrite(std::shared_ptr<EchoStream> es,\n                         bool
      write_accounted_for = false)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<EchoResponse>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:431,1
    - Dst: std::shared_ptr<EchoStream>::rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:432,1
    - Dst: auto::get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:432,1
    - Dst: test::grpc::EchoStream::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:434,1
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:437,1
    - Dst: std::shared_ptr<EchoStream>::desc_::count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:439,1
    - Dst: std::shared_ptr<EchoStream>::desc_::count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:440,1
    - Dst: std::shared_ptr<EchoStream>::desc_::duration_in_sec
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:441,1
    - Dst: std::shared_ptr<EchoStream>::desc_::duration_in_sec
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:443,1
    - Dst: test::grpc::EchoStream::StartWrite
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:444,1
    - Dst: test::grpc::EchoStream::StartDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:446,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:450,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 453
    functionName: test::grpc::EchoStream::StartRead
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - std::shared_ptr<EchoStream>::desc_::count
    - std::shared_ptr<EchoStream>::desc_::duration_in_sec
    - std::make_shared<EchoResponse>
    - auto::get
    - test::grpc::EchoStream::StartRead
    - time
    - test::grpc::EchoStream::StartWrite
    - Tag::Tag
    - std::shared_ptr<EchoStream>::rpc_::Read
    - test::grpc::EchoStream::StartDone
    linkageType: ''
    returnType: void
    signature: void StartRead(std::shared_ptr<EchoStream> es)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<EchoStream>::rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:460,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:460,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: test::grpc::EchoStream::StartDone
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - Tag::Tag
    - std::shared_ptr<EchoStream>::rpc_::WritesDone
    linkageType: ''
    returnType: void
    signature: void StartDone(std::shared_ptr<EchoStream> es)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<EchoStream>::rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:468,1
    - Dst: std::shared_ptr<EchoStream>::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:471,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:472,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:472,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:473,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:473,1
    - Dst: TestResult::mutable_echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:476,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:478,1
    - Dst: std::shared_ptr<EchoStream>::status_expected_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:478,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:482,1
    - Dst: std::shared_ptr<EchoStream>::status_expected_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:483,1
    - Dst: std::shared_ptr<EchoStream>::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:484,1
    - Dst: std::shared_ptr<EchoStream>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:488,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 490
    functionName: test::grpc::EchoStream::StartFinish
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 8
    functionsReached:
    - TestResult::mutable_echo_stream
    - std::shared_ptr<EchoStream>::status_expected_::error_code
    - std::shared_ptr<EchoStream>::status_::error_message
    - std::shared_ptr<EchoStream>::done_
    - std::shared_ptr<EchoStream>::rpc_::Finish
    - std::shared_ptr<EchoStream>::status_::ok
    - std::shared_ptr<EchoStream>::status_expected_::error_message
    - std::shared_ptr<EchoStream>::status_::error_code
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: void StartFinish(std::shared_ptr<EchoStream> es)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Parallel::Parallel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:517,1
    - Dst: test::grpc::Parallel::StartTests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ParallelTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: test::grpc::Parallel::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - Parallel::Parallel
    - test::grpc::Parallel::StartTests
    linkageType: ''
    returnType: void
    signature: "void Start(const ParallelTest &desc, Test::Stub *server_stub,\n                    Test::Stub
      *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::Parallel::GetWeightSum
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:529,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:530,1
    - Dst: ParallelTest::subtests_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ParallelTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 531
    functionName: test::grpc::Parallel::Parallel
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - test::grpc::Parallel::GetWeightSum
    - ParallelTest::subtests_size
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: "void Parallel(const ParallelTest &desc, Test::Stub *server_stub,\n
      \          CompletionQueue *cq,\n           std::function<void(bool, const TestResult
      &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParallelTest::subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:535,1
    - Dst: weight
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - desc
    argTypes:
    - ParallelTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 539
    functionName: test::grpc::Parallel::GetWeightSum
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - ParallelTest::subtests
    - weight
    linkageType: ''
    returnType: int
    signature: int GetWeightSum(const ParallelTest &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::Parallel::StartTestsLocked
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::shared_ptr<Parallel>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 3
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: test::grpc::Parallel::StartTests
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - test::grpc::Parallel::StartTestsLocked
    linkageType: ''
    returnType: void
    signature: void StartTests(std::shared_ptr<Parallel> p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Parallel>::desc_::parallel_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:547,1
    - Dst: std::shared_ptr<Parallel>::desc_::test_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:548,1
    - Dst: std::shared_ptr<Parallel>::NextSubtestType
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:555,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:557,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:561,1
    - Dst: SubtestStats::AddFailure
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:570,1
    - Dst: status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:570,1
    - Dst: SubtestStats::latencies::push_front
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:572,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:573,1
    - Dst: test::grpc::Parallel::StartTestsLocked
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:575,1
    - Dst: std::shared_ptr<Parallel>::desc_::test_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:576,1
    - Dst: std::shared_ptr<Parallel>::CalculateStats
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:577,1
    - Dst: std::shared_ptr<Parallel>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:578,1
    - Dst: std::shared_ptr<Parallel>::desc_::subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:582,1
    - Dst: auto::plan_case
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:583,1
    - Dst: test::grpc::Echo::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:585,1
    - Dst: auto::echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:585,1
    - Dst: test::grpc::EchoStream::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:589,1
    - Dst: auto::echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:589,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::shared_ptr<Parallel>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 546
    functionDepth: 2
    functionLinenumber: 546
    functionLinenumberEnd: 597
    functionName: test::grpc::Parallel::StartTestsLocked
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - SubtestStats::latencies::push_front
    - std::shared_ptr<Parallel>::CalculateStats
    - auto::plan_case
    - SubtestStats::AddFailure
    - std::shared_ptr<Parallel>::desc_::parallel_limit
    - std::shared_ptr<Parallel>::desc_::subtests
    - status
    - test::grpc::Parallel::StartTestsLocked
    - test::grpc::Echo::Start
    - std::shared_ptr<Parallel>::done_
    - auto::echo
    - test::grpc::EchoStream::Start
    - std::chrono::duration_cast<std::chrono::microseconds>
    - auto::echo_stream
    - std::shared_ptr<Parallel>::NextSubtestType
    - std::shared_ptr<Parallel>::desc_::test_count
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: void StartTestsLocked(std::shared_ptr<Parallel> p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:609,1
    - Dst: weight
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:610,1
    - Dst: weight
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 617
    functionName: test::grpc::Parallel::NextSubtestType
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - subtests
    - weight
    linkageType: ''
    returnType: int
    signature: int NextSubtestType()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mutable_parallel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:621,1
    - Dst: auto*::set_total_time_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:622,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:623,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:624,1
    - Dst: auto*::add_stats
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:629,1
    - Dst: ParallelSubtestStats*::set_succeeded_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:630,1
    - Dst: ParallelSubtestStats*::set_failed_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:631,1
    - Dst: count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:637,1
    - Dst: count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:643,1
    - Dst: std::sqrt
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:647,1
    - Dst: ParallelSubtestStats*::set_mean_latency_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:649,1
    - Dst: ParallelSubtestStats*::set_stddev_latency_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:650,1
    - Dst: second::Fill
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:653,1
    - Dst: ParallelSubtestStats*::add_failures
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:653,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:657,1
    - Dst: test_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:657,1
    - Dst: allowed_failure_rate
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:657,1
    - Dst: mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:658,1
    - Dst: mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 664
    functionName: test::grpc::Parallel::CalculateStats
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - second::Fill
    - mutable_parallel
    - std::sqrt
    - ParallelSubtestStats*::add_failures
    - ParallelSubtestStats*::set_failed_count
    - ParallelSubtestStats*::set_stddev_latency_micros
    - ParallelSubtestStats*::set_succeeded_count
    - count
    - static_cast<int>
    - auto*::add_stats
    - test_count
    - mutable_status
    - std::chrono::duration_cast<std::chrono::microseconds>
    - ParallelSubtestStats*::set_mean_latency_micros
    - allowed_failure_rate
    - auto*::set_total_time_micros
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: void CalculateStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - CallStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 670
    functionName: test::grpc::Parallel::AggregatedStatus::AggregatedStatus
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 1
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void AggregatedStatus(const CallStatus &status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 675
    functionName: test::grpc::Parallel::AggregatedStatus::Inc
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void Inc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AggregatedCallStatus*::set_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:678,1
    - Dst: AggregatedCallStatus*::set_start_time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:679,1
    - Dst: ctime
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:679,1
    - Dst: AggregatedCallStatus*::set_end_time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:680,1
    - Dst: ctime
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:680,1
    - Dst: AggregatedCallStatus*::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - call_status
    argTypes:
    - AggregatedCallStatus*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 682
    functionName: test::grpc::Parallel::AggregatedStatus::Fill
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - AggregatedCallStatus*::mutable_status
    - AggregatedCallStatus*::set_count
    - ctime
    - AggregatedCallStatus*::set_end_time
    - AggregatedCallStatus*::set_start_time
    linkageType: ''
    returnType: void
    signature: void Fill(AggregatedCallStatus *call_status) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetStatusAggregationKey
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:698,1
    - Dst: find
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:699,1
    - Dst: end
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:700,1
    - Dst: emplace
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:701,1
    - Dst: std::map<std::string, AggregatedStatus>::iterator::second::Inc
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - status
    argTypes:
    - CallStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 705
    functionName: test::grpc::Parallel::AddFailure
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::map<std::string, AggregatedStatus>::iterator::second::Inc
    - emplace
    - GetStatusAggregationKey
    - find
    - end
    linkageType: ''
    returnType: void
    signature: void AddFailure(const CallStatus &status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProbeCallLimit::ProbeCallLimit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:731,1
    - Dst: Test::Stub*::AsyncCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:733,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:736,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:737,1
    - Dst: std::shared_ptr::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:739,1
    - Dst: test::grpc::ProbeCallLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:742,1
    - Dst: test::grpc::ProbeCallLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:743,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ProbeCallLimitTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 727
    functionDepth: 2
    functionLinenumber: 727
    functionLinenumberEnd: 745
    functionName: test::grpc::ProbeCallLimit::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::done_
    - ProbeCallLimit::ProbeCallLimit
    - Test::Stub*::AsyncCork
    - test::grpc::ProbeCallLimit::StartProbe
    - test::grpc::ProbeCallLimit::StartReadCorkState
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const ProbeCallLimitTest &desc, Test::Stub *server_stub,\n
      \                   Test::Stub *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:752,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ProbeCallLimitTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 753
    functionName: test::grpc::ProbeCallLimit::ProbeCallLimit
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - CreateEchoRequestText
    - mutable_request
    linkageType: ''
    returnType: void
    signature: "void ProbeCallLimit(const ProbeCallLimitTest &desc, Test::Stub *server_stub,\n
      \                CompletionQueue *cq,\n                 std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:756,1
    - Dst: test::grpc::ProbeCallLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:766,1
    - Dst: std::shared_ptr<ProbeCallLimit>::alarm_::Cancel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:773,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeCallLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 776
    functionName: test::grpc::ProbeCallLimit::StartReadCorkState
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - test::grpc::ProbeCallLimit::StartReadCorkState
    - std::shared_ptr<ProbeCallLimit>::cork_rpc_::Read
    - Tag::Tag
    - std::shared_ptr<ProbeCallLimit>::alarm_::Cancel
    linkageType: ''
    returnType: void
    signature: void StartReadCorkState(std::shared_ptr<ProbeCallLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeCallLimit>::alarm_::reset
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:780,1
    - Dst: gpr_time_add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:782,1
    - Dst: gpr_now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:783,1
    - Dst: gpr_time_from_millis
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:784,1
    - Dst: std::shared_ptr<ProbeCallLimit>::desc_::timeout_ms
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:784,1
    - Dst: std::shared_ptr<ProbeCallLimit>::alarm_::reset
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:789,1
    - Dst: test::grpc::ProbeCallLimit::OnTimeout
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:790,1
    - Dst: test::grpc::ProbeCallLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:795,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:785,1
    - Dst: Alarm::Alarm
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:780,1
    - Dst: EchoResponse::EchoResponse
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:800,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:801,1
    - Dst: ClientContext::ClientContext
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:802,1
    - Dst: std::shared_ptr<ProbeCallLimit>::server_stub_::AsyncEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:804,1
    - Dst: std::shared_ptr<ProbeCallLimit>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:804,1
    - Dst: ClientAsyncResponseReader*::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:808,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeCallLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 818
    functionName: test::grpc::ProbeCallLimit::StartProbe
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - std::shared_ptr<ProbeCallLimit>::desc_::request
    - ClientAsyncResponseReader*::Finish
    - gpr_now
    - Alarm::Alarm
    - gpr_time_from_millis
    - std::shared_ptr<ProbeCallLimit>::alarm_::reset
    - std::shared_ptr<ProbeCallLimit>::server_stub_::AsyncEcho
    - test::grpc::ProbeCallLimit::OnTimeout
    - Status::Status
    - gpr_time_add
    - test::grpc::ProbeCallLimit::StartProbe
    - ClientContext::ClientContext
    - Tag::Tag
    - EchoResponse::EchoResponse
    - std::shared_ptr<ProbeCallLimit>::desc_::timeout_ms
    linkageType: ''
    returnType: void
    signature: void StartProbe(std::shared_ptr<ProbeCallLimit> pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_state_::current_corked_calls
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:823,1
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:825,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:826,1
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:827,1
    - Dst: TestResult::mutable_probe_call_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:831,1
    - Dst: std::shared_ptr<ProbeCallLimit>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:832,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:828,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeCallLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 835
    functionName: test::grpc::ProbeCallLimit::OnTimeout
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - std::shared_ptr<ProbeCallLimit>::cork_rpc_::WritesDone
    - TestResult::mutable_probe_call_limit
    - Status::Status
    - std::shared_ptr<ProbeCallLimit>::cork_rpc_::Finish
    - std::shared_ptr<ProbeCallLimit>::cork_state_::current_corked_calls
    - std::shared_ptr<ProbeCallLimit>::done_
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: void OnTimeout(std::shared_ptr<ProbeCallLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:864,1
    - Dst: Test::Stub*::AsyncCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:866,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:869,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:870,1
    - Dst: std::shared_ptr::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:872,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:875,1
    - Dst: std::shared_ptr::server_stub_::AsyncEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:876,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:878,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:879,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:877,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ProbeDownstreamMessageLimitTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 859
    functionDepth: 2
    functionLinenumber: 859
    functionLinenumberEnd: 882
    functionName: test::grpc::ProbeDownstreamMessageLimit::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::done_
    - test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
    - std::shared_ptr::server_stub_::AsyncEchoStream
    - Test::Stub*::AsyncCork
    - test::grpc::ProbeDownstreamMessageLimit::StartProbe
    - ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
    - test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const ProbeDownstreamMessageLimitTest &desc,\n                    Test::Stub
      *server_stub, Test::Stub *direct_stub,\n                    CompletionQueue
      *cq,\n                    std::function<void(bool, const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:889,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ProbeDownstreamMessageLimitTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 890
    functionName: test::grpc::ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - CreateEchoRequestText
    - mutable_request
    linkageType: ''
    returnType: void
    signature: "void ProbeDownstreamMessageLimit(\n      const ProbeDownstreamMessageLimitTest
      &desc, Test::Stub *server_stub,\n      CompletionQueue *cq, std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:894,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:898,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 900
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
    - std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Read
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: "void StartReadCorkState(\n      std::shared_ptr<ProbeDownstreamMessageLimit>
      pc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:904,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:908,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 910
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - Tag::Tag
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Read
    - test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
    linkageType: ''
    returnType: void
    signature: "void StartReadStreamMessages(\n      std::shared_ptr<ProbeDownstreamMessageLimit>
      pc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Alarm>::shared_ptr<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:919,1
    - Dst: std::make_shared<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:920,1
    - Dst: gpr_time_add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:922,1
    - Dst: gpr_now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:923,1
    - Dst: gpr_time_from_millis
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:924,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::timeout_ms
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:924,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::OnTimeout
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:929,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:932,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:925,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:940,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:940,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:943,1
    - Dst: std::shared_ptr::Cancel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:952,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 954
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartProbe
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - std::make_shared<Alarm>
    - gpr_now
    - gpr_time_from_millis
    - std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::timeout_ms
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Write
    - test::grpc::ProbeDownstreamMessageLimit::OnTimeout
    - gpr_time_add
    - std::shared_ptr<Alarm>::shared_ptr<Alarm>
    - test::grpc::ProbeDownstreamMessageLimit::StartProbe
    - std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::request
    - Tag::Tag
    - test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
    - std::shared_ptr::Cancel
    linkageType: ''
    returnType: void
    signature: void StartProbe(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:960,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:961,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:962,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:965,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:962,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:960,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 956
    functionDepth: 2
    functionLinenumber: 956
    functionLinenumberEnd: 972
    functionName: test::grpc::ProbeDownstreamMessageLimit::OnTimeout
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::WritesDone
    - std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Finish
    - test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
    - Status::Status
    - Tag::Tag
    - test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
    linkageType: ''
    returnType: void
    signature: void OnTimeout(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:975,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:976,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:977,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:980,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:977,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 983
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Finish
    - test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
    - Status::Status
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::WritesDone
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: void StartWritesDone(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TestResult::mutable_probe_downstream_message_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:991,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 994
    functionName: test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - TestResult::mutable_probe_downstream_message_limit
    - std::shared_ptr<ProbeDownstreamMessageLimit>::done_
    linkageType: ''
    returnType: void
    signature: void TryIssueReport(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1032,1
    - Dst: std::shared_ptr::server_stub_::AsyncEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1033,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1037,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1038,1
    - Dst: std::shared_ptr::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1040,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1043,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ProbeUpstreamMessageLimitTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1027
    functionDepth: 2
    functionLinenumber: 1027
    functionLinenumberEnd: 1045
    functionName: test::grpc::ProbeUpstreamMessageLimit::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::done_
    - ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
    - std::shared_ptr::server_stub_::AsyncEchoStream
    - test::grpc::ProbeUpstreamMessageLimit::StartProbe
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const ProbeUpstreamMessageLimitTest &desc,\n                    Test::Stub
      *server_stub, Test::Stub *direct_stub,\n                    CompletionQueue
      *cq,\n                    std::function<void(bool, const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1052,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ProbeUpstreamMessageLimitTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1053
    functionName: test::grpc::ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - CreateEchoRequestText
    - mutable_request
    linkageType: ''
    returnType: void
    signature: "void ProbeUpstreamMessageLimit(const ProbeUpstreamMessageLimitTest
      &desc,\n                            Test::Stub *server_stub, CompletionQueue
      *cq,\n                            std::function<void(bool, const TestResult
      &)> done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1059,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1063,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1065
    functionName: test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 3
    functionsReached:
    - Tag::Tag
    - test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Read
    linkageType: ''
    returnType: void
    signature: "void StartReadStreamMessages(\n      std::shared_ptr<ProbeUpstreamMessageLimit>
      pc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Alarm>::shared_ptr<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1074,1
    - Dst: std::make_shared<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1075,1
    - Dst: gpr_time_add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1077,1
    - Dst: gpr_now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1078,1
    - Dst: gpr_time_from_millis
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1079,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::timeout_ms
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1079,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::OnTimeout
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1084,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1087,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1080,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1095,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1095,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1098,1
    - Dst: std::shared_ptr::Cancel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1105,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1067
    functionDepth: 3
    functionLinenumber: 1067
    functionLinenumberEnd: 1107
    functionName: test::grpc::ProbeUpstreamMessageLimit::StartProbe
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - std::make_shared<Alarm>
    - gpr_now
    - std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::timeout_ms
    - gpr_time_from_millis
    - std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::request
    - gpr_time_add
    - test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
    - std::shared_ptr<Alarm>::shared_ptr<Alarm>
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Write
    - test::grpc::ProbeUpstreamMessageLimit::StartProbe
    - test::grpc::ProbeUpstreamMessageLimit::OnTimeout
    - Tag::Tag
    - std::shared_ptr::Cancel
    linkageType: ''
    returnType: void
    signature: void StartProbe(std::shared_ptr<ProbeUpstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1114,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1109
    functionDepth: 2
    functionLinenumber: 1109
    functionLinenumberEnd: 1119
    functionName: test::grpc::ProbeUpstreamMessageLimit::OnTimeout
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
    - test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
    linkageType: ''
    returnType: void
    signature: void OnTimeout(std::shared_ptr<ProbeUpstreamMessageLimit> pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1122,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1123,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1124,1
    - Dst: TestResult::mutable_probe_upstream_message_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1128,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1130,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1125,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1133
    functionName: test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - TestResult::mutable_probe_upstream_message_limit
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Finish
    - Status::Status
    - std::shared_ptr<ProbeUpstreamMessageLimit>::done_
    - Tag::Tag
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::WritesDone
    linkageType: ''
    returnType: void
    signature: void StartWritesDone(std::shared_ptr<ProbeUpstreamMessageLimit> pc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TestPlans::server_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1153,1
    - Dst: test::grpc::GetStub
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1154,1
    - Dst: TestPlans::server_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1154,1
    - Dst: TestPlans::direct_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1156,1
    - Dst: test::grpc::GetStub
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1157,1
    - Dst: TestPlans::direct_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1157,1
    - Dst: test::grpc::Echo::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1162,1
    - Dst: std::unique_ptr::get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1162,1
    - Dst: get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1162,1
    - Dst: CompletionQueue::Shutdown
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1165,1
    - Dst: TestPlans::has_warmup
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1169,1
    - Dst: test::grpc::Echo::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: TestPlans::warmup
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: std::unique_ptr::get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: start_test
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1173,1
    - Dst: start_test
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1177,1
    - Dst: CompletionQueue::Next
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1183,1
    - Dst: reinterpret_cast<Tag *>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - plans
    - desc
    - result
    argTypes:
    - TestPlans
    - typename T::TestDesc
    - TestResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1149
    functionDepth: 1
    functionLinenumber: 1149
    functionLinenumberEnd: 1188
    functionName: test::grpc::RunSync
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - TestPlans::warmup
    - reinterpret_cast<Tag *>
    - std::unique_ptr::get
    - TestPlans::direct_addr
    - test::grpc::Echo::Start
    - start_test
    - TestPlans::has_warmup
    - TestPlans::server_addr
    - test::grpc::GetStub
    - get
    - CompletionQueue::Shutdown
    - CompletionQueue::Next
    linkageType: ''
    returnType: void
    signature: "void RunSync(const TestPlans &plans, const typename T::TestDesc &desc,\n
      \            TestResult *result)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TestPlans::plans
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1193,1
    - Dst: TestResults*::add_results
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1194,1
    - Dst: plan_case
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1196,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1198,1
    - Dst: echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1198,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1201,1
    - Dst: echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1201,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1204,1
    - Dst: parallel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1204,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1207,1
    - Dst: probe_call_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1207,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1210,1
    - Dst: probe_downstream_message_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1211,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1214,1
    - Dst: probe_upstream_message_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1215,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1218,1
    - Dst: echo_report
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1218,1
    - Dst: std::abort
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1222,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - plans
    - results
    argTypes:
    - TestPlans
    - TestResults*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1192
    functionDepth: 2
    functionLinenumber: 1192
    functionLinenumberEnd: 1225
    functionName: test::grpc::RunTestPlans
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 1
    functionsReached:
    - echo
    - test::grpc::RunSync
    - probe_upstream_message_limit
    - echo_stream
    - parallel
    - probe_downstream_message_limit
    - probe_call_limit
    - plan_case
    - TestPlans::plans
    - echo_report
    - TestResults*::add_results
    - std::abort
    linkageType: ''
    returnType: void
    signature: void RunTestPlans(const TestPlans &plans, TestResults *results)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::NewTypeResolverForDescriptorPool
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:64,1
    - Dst: ::google::protobuf::DescriptorPool::generated_pool
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: test::grpc::CreateTypeResolver
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - ::google::protobuf::util::NewTypeResolverForDescriptorPool
    - ::google::protobuf::DescriptorPool::generated_pool
    linkageType: ''
    returnType: TypeResolver
    signature: TypeResolver *CreateTypeResolver()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::CreateTypeResolver
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: test::grpc::GetTypeResolver
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - test::grpc::CreateTypeResolver
    linkageType: ''
    returnType: TypeResolver
    signature: TypeResolver *GetTypeResolver()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:74,1
    - Dst: Message::GetDescriptor
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: test::grpc::GetTypeUrl
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - Message::GetDescriptor
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string GetTypeUrl(const Message &message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Status::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:80,1
    - Dst: absl::OkStatus
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - proto_status
    argTypes:
    - absl::Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: test::grpc::FromProto
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - absl::Status::ok
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status FromProto(\n    const absl::Status &proto_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::NewTypeResolverForDescriptorPool
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:64,1
    - Dst: ::google::protobuf::DescriptorPool::generated_pool
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: test::grpc::CreateTypeResolver
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 3
    functionsReached:
    - ::google::protobuf::util::NewTypeResolverForDescriptorPool
    - ::google::protobuf::DescriptorPool::generated_pool
    linkageType: ''
    returnType: TypeResolver
    signature: TypeResolver *CreateTypeResolver()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::CreateTypeResolver
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: test::grpc::GetTypeResolver
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - test::grpc::CreateTypeResolver
    linkageType: ''
    returnType: TypeResolver
    signature: TypeResolver *GetTypeResolver()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:74,1
    - Dst: Message::GetDescriptor
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: test::grpc::GetTypeUrl
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - Message::GetDescriptor
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string GetTypeUrl(const Message &message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Status::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:80,1
    - Dst: absl::OkStatus
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - proto_status
    argTypes:
    - absl::Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: test::grpc::FromProto
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - absl::Status::ok
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status FromProto(\n    const absl::Status &proto_status)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonToBinaryString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:93,1
    - Dst: test::grpc::GetTypeResolver
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:94,1
    - Dst: test::grpc::GetTypeUrl
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:94,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:95,1
    - Dst: test::grpc::FromProto
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:96,1
    - Dst: Message*::ParseFromString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:98,1
    - Dst: absl::OkStatus
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:99,1
    - Dst: test::grpc::Parallel::AggregatedStatus::AggregatedStatus
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - json
    - message
    argTypes:
    - std::string
    - Message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: test::grpc::JsonToProto
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - ::google::protobuf::util::JsonToBinaryString
    - test::grpc::GetTypeUrl
    - absl::Status::ok
    - Message*::ParseFromString
    - test::grpc::FromProto
    - test::grpc::Parallel::AggregatedStatus::AggregatedStatus
    - test::grpc::GetTypeResolver
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status JsonToProto(const std::string &json,\n                                             Message
      *message)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Message::SerializeAsString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:117,1
    - Dst: std::string::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:118,1
    - Dst: std::string::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:119,1
    - Dst: ::google::protobuf::util::BinaryToJsonStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:121,1
    - Dst: test::grpc::GetTypeResolver
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:122,1
    - Dst: test::grpc::GetTypeUrl
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:122,1
    - Dst: test::grpc::FromProto
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - message
    - json
    - options
    argTypes:
    - Message
    - ::google::protobuf::io::ZeroCopyOutputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 125
    functionName: test::grpc::ProtoToJson
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - test::grpc::GetTypeUrl
    - std::string::data
    - test::grpc::FromProto
    - Message::SerializeAsString
    - test::grpc::GetTypeResolver
    - ::google::protobuf::util::BinaryToJsonStream
    - std::string::size
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status ProtoToJson(\n    const Message &message, ::google::protobuf::io::ZeroCopyOutputStream
      *json,\n    int options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InsecureChannelCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unused_desc
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - InsecureChannelCredentials
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const T &unused_desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CallConfig::use_ssl
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:138,1
    - Dst: ::grpc::SslCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:140,1
    - Dst: InsecureChannelCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - call_config
    argTypes:
    - CallConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - CallConfig::use_ssl
    - InsecureChannelCredentials
    - ::grpc::SslCredentials
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const CallConfig &call_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:147,1
    - Dst: EchoTest::call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - EchoTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 7
    functionsReached:
    - test::grpc::GetCreds
    - EchoTest::call_config
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const EchoTest &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:152,1
    - Dst: EchoStreamTest::call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - EchoStreamTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 8
    functionsReached:
    - test::grpc::GetCreds
    - EchoStreamTest::call_config
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const EchoStreamTest &desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParallelTest::subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:157,1
    - Dst: auto::plan_case
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:158,1
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:160,1
    - Dst: auto::echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:160,1
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:162,1
    - Dst: auto::echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:162,1
    - Dst: InsecureChannelCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - desc
    argTypes:
    - ParallelTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 9
    functionsReached:
    - auto::plan_case
    - ParallelTest::subtests
    - test::grpc::GetCreds
    - InsecureChannelCredentials
    - auto::echo
    - auto::echo_stream
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const ParallelTest &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChannelArguments::SetMaxReceiveMessageSize
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:173,1
    - Dst: ChannelArguments::SetMaxSendMessageSize
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:174,1
    - Dst: std::unique_ptr<Test::Stub>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:177,1
    - Dst: Test::NewStub
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - addr
    - desc
    argTypes:
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: test::grpc::GetStub
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - Test::NewStub
    - ChannelArguments::SetMaxSendMessageSize
    - std::unique_ptr<Test::Stub>
    - ChannelArguments::SetMaxReceiveMessageSize
    linkageType: ''
    returnType: std::unique_ptr<Test::Stub>
    signature: "std::unique_ptr<Test::Stub> GetStub(const std::string &addr,\n                                           const
      T &desc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CallConfig::api_key
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:181,1
    - Dst: ClientContext*::AddMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:182,1
    - Dst: CallConfig::api_key
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:182,1
    - Dst: CallConfig::auth_token
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:184,1
    - Dst: ClientContext*::AddMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:185,1
    - Dst: CallConfig::auth_token
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:185,1
    - Dst: CallConfig::metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:187,1
    - Dst: ClientContext*::AddMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:188,1
    - Dst: CallConfig::compression
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:190,1
    - Dst: ClientContext*::set_compression_algorithm
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:191,1
    - Dst: static_cast<grpc_compression_algorithm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:192,1
    - Dst: CallConfig::compression
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - call_config
    - ctx
    argTypes:
    - CallConfig
    - ClientContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: test::grpc::SetCallConfig
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - ClientContext*::set_compression_algorithm
    - ClientContext*::AddMetadata
    - CallConfig::auth_token
    - CallConfig::compression
    - CallConfig::api_key
    - CallConfig::metadata
    - static_cast<grpc_compression_algorithm>
    linkageType: ''
    returnType: void
    signature: void SetCallConfig(const CallConfig &call_config, ClientContext *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:202,1
    - Dst: first::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:202,1
    - Dst: first::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:202,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:203,1
    - Dst: second::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:203,1
    - Dst: second::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:203,1
    - Dst: T1::find
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:204,1
    - Dst: T1::end
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:204,1
    - Dst: T1::at
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:205,1
    - Dst: google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>*::Add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:208,1
    - Dst: auto*::set_key
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:209,1
    - Dst: auto*::set_expected
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:210,1
    - Dst: T1::at
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:210,1
    - Dst: auto*::set_actual
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - expected
    - actual
    - results
    argTypes:
    - T1
    - T2
    - google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 215
    functionName: test::grpc::VerifyMetadata
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - auto*::set_expected
    - first::data
    - auto*::set_key
    - first::size
    - auto*::set_actual
    - second::size
    - google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>*::Add
    - T1::end
    - second::data
    - T1::find
    - std::string
    - T1::at
    linkageType: ''
    returnType: int
    signature: "int VerifyMetadata(\n    const T1 &expected, const T2 &actual,\n    google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>
      *results)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size_dist
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:223,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:225,1
    - Dst: byte_dist
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:229,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:231,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - max_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 232
    functionName: test::grpc::RandomString
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - std::string
    - reinterpret_cast<const char *>
    - byte_dist
    - size_dist
    linkageType: ''
    returnType: std::string
    signature: std::string RandomString(int max_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoRequest*::random_payload_max_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:235,1
    - Dst: EchoRequest*::set_text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:236,1
    - Dst: test::grpc::RandomString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:236,1
    - Dst: EchoRequest*::random_payload_max_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:236,1
    - Dst: EchoRequest*::space_payload_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:238,1
    - Dst: EchoRequest*::set_text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:239,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:239,1
    - Dst: EchoRequest*::space_payload_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - EchoRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: test::grpc::CreateEchoRequestText
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - test::grpc::RandomString
    - EchoRequest*::set_text
    - EchoRequest*::space_payload_size
    - EchoRequest*::random_payload_max_size
    - std::string
    linkageType: ''
    returnType: void
    signature: void CreateEchoRequestText(EchoRequest *request)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CallStatus::details
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:244,1
    - Dst: test::grpc::JsonToProto
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:248,1
    - Dst: ::test::grpc::GrpcErrorDetail::SerializeToString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:249,1
    - Dst: std::to_string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:251,1
    - Dst: CallStatus::code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - status
    argTypes:
    - CallStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 252
    functionName: test::grpc::GetStatusAggregationKey
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - ::test::grpc::GrpcErrorDetail::SerializeToString
    - CallStatus::details
    - CallStatus::code
    - std::to_string
    - test::grpc::JsonToProto
    linkageType: ''
    returnType: std::string
    signature: std::string GetStatusAggregationKey(const CallStatus &status)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Echo::Echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:261,1
    - Dst: Test::Stub*::AsyncEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:262,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:262,1
    - Dst: std::shared_ptr::rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:263,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:266,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:267,1
    - Dst: std::shared_ptr::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:267,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:268,1
    - Dst: std::shared_ptr::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:268,1
    - Dst: TestResult::mutable_echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:270,1
    - Dst: std::shared_ptr::response_::text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:270,1
    - Dst: std::shared_ptr::desc_::expected_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:275,1
    - Dst: std::shared_ptr::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:276,1
    - Dst: std::shared_ptr::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:277,1
    - Dst: std::shared_ptr::desc_::expected_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:278,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:280,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:281,1
    - Dst: std::shared_ptr::response_::text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:281,1
    - Dst: TestResult::mutable_echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:284,1
    - Dst: VerifyMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:286,1
    - Dst: std::shared_ptr::desc_::call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:287,1
    - Dst: std::shared_ptr::response_::received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:288,1
    - Dst: VerifyMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:289,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:290,1
    - Dst: std::shared_ptr::ctx_::GetServerInitialMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:291,1
    - Dst: VerifyMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:292,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:293,1
    - Dst: std::shared_ptr::ctx_::GetServerTrailingMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:294,1
    - Dst: TestResult::mutable_echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:295,1
    - Dst: auto*::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:296,1
    - Dst: std::shared_ptr::desc_::expected_metadata_keys
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:299,1
    - Dst: std::shared_ptr::response_::received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:300,1
    - Dst: std::shared_ptr::response_::received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:301,1
    - Dst: TestResult::mutable_additional_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:302,1
    - Dst: done
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:305,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - EchoTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 307
    functionName: test::grpc::Echo::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - std::shared_ptr::response_::received_metadata
    - std::shared_ptr::ctx_::GetServerTrailingMetadata
    - std::shared_ptr::desc_::expected_metadata_keys
    - auto*::size
    - std::shared_ptr::desc_::call_config
    - TestResult::mutable_echo
    - std::shared_ptr::desc_::expected_status
    - std::shared_ptr::status_::error_message
    - TestResult::mutable_additional_metadata
    - std::shared_ptr::desc_::request
    - std::shared_ptr::response_::text
    - done
    - std::shared_ptr::ctx_::GetServerInitialMetadata
    - std::shared_ptr::status_::ok
    - VerifyMetadata
    - std::shared_ptr::rpc_::Finish
    - Test::Stub*::AsyncEcho
    - Echo::Echo
    - std::shared_ptr::status_::error_code
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const EchoTest &desc, Test::Stub *server_stub,\n                    Test::Stub
      *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetCallConfig
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:312,1
    - Dst: call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:312,1
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:313,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - desc
    - done
    argTypes:
    - EchoTest
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: test::grpc::Echo::Echo
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - call_config
    - CreateEchoRequestText
    - mutable_request
    - SetCallConfig
    linkageType: ''
    returnType: void
    signature: void Echo(const EchoTest &desc, std::function<void(bool, const TestResult
      &)> done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoReport::EchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:331,1
    - Dst: Test::Stub*::AsyncEchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:333,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:333,1
    - Dst: std::shared_ptr::rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:334,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:337,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:338,1
    - Dst: std::shared_ptr::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:338,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:339,1
    - Dst: std::shared_ptr::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:339,1
    - Dst: TestResult::mutable_echo_report
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:342,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:345,1
    - Dst: MessageDifferencer::Equals
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:346,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:346,1
    - Dst: done
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:349,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - EchoReportTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 351
    functionName: test::grpc::EchoReport::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - MessageDifferencer::Equals
    - std::shared_ptr::rpc_::Finish
    - done
    - TestResult::mutable_echo_report
    - Test::Stub*::AsyncEchoReport
    - EchoReport::EchoReport
    - std::shared_ptr::status_::ok
    - std::shared_ptr::status_::error_message
    - std::shared_ptr::status_::error_code
    - Tag::Tag
    - std::shared_ptr::desc_::request
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const EchoReportTest &desc, Test::Stub *server_stub,\n
      \                   Test::Stub *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - desc
    - done
    argTypes:
    - EchoReportTest
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: test::grpc::EchoReport::EchoReport
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EchoReport(const EchoReportTest &desc,\n             std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EchoStream::EchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:373,1
    - Dst: Test::Stub*::AsyncEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:375,1
    - Dst: test::grpc::EchoStream::StartWrite
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:377,1
    - Dst: test::grpc::EchoStream::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:378,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:380,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - EchoStreamTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 383
    functionName: test::grpc::EchoStream::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - Test::Stub*::AsyncEchoStream
    - test::grpc::EchoStream::StartRead
    - EchoStream::EchoStream
    - test::grpc::EchoStream::StartWrite
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: "void Start(const EchoStreamTest &desc, Test::Stub *server_stub,\n
      \                   Test::Stub *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EchoStreamTest::count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:392,1
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:393,1
    - Dst: SetCallConfig
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:394,1
    - Dst: call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:394,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:395,1
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - EchoStreamTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 398
    functionName: test::grpc::EchoStream::EchoStream
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - call_config
    - mutable_request
    - SetCallConfig
    - EchoStreamTest::count
    - time
    - CreateEchoRequestText
    linkageType: ''
    returnType: void
    signature: "void EchoStream(const EchoStreamTest &desc, Test::Stub *server_stub,\n
      \            CompletionQueue *cq,\n             std::function<void(bool, const
      TestResult &)> done)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<EchoStream>::desc_::request_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:409,1
    - Dst: std::shared_ptr<EchoStream>::desc_::request_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:410,1
    - Dst: std::shared_ptr<EchoStream>::desc_::expected_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:412,1
    - Dst: CallStatus::code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:413,1
    - Dst: Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: StatusCode
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: CallStatus::code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: CallStatus::details
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: std::shared_ptr<EchoStream>::rpc_::Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:418,1
    - Dst: std::shared_ptr<EchoStream>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:418,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:425,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:418,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 428
    functionName: test::grpc::EchoStream::StartWrite
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 5
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - CallStatus::details
    - std::shared_ptr<EchoStream>::desc_::expected_status
    - CallStatus::code
    - std::shared_ptr<EchoStream>::desc_::request_size
    - std::shared_ptr<EchoStream>::desc_::request
    - Status
    - std::shared_ptr<EchoStream>::rpc_::Write
    - Tag::Tag
    - StatusCode
    linkageType: ''
    returnType: void
    signature: "void StartWrite(std::shared_ptr<EchoStream> es,\n                         bool
      write_accounted_for = false)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<EchoResponse>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:431,1
    - Dst: std::shared_ptr<EchoStream>::rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:432,1
    - Dst: auto::get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:432,1
    - Dst: test::grpc::EchoStream::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:434,1
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:437,1
    - Dst: std::shared_ptr<EchoStream>::desc_::count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:439,1
    - Dst: std::shared_ptr<EchoStream>::desc_::count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:440,1
    - Dst: std::shared_ptr<EchoStream>::desc_::duration_in_sec
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:441,1
    - Dst: std::shared_ptr<EchoStream>::desc_::duration_in_sec
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:443,1
    - Dst: test::grpc::EchoStream::StartWrite
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:444,1
    - Dst: test::grpc::EchoStream::StartDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:446,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:450,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 453
    functionName: test::grpc::EchoStream::StartRead
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - std::shared_ptr<EchoStream>::desc_::count
    - std::shared_ptr<EchoStream>::desc_::duration_in_sec
    - std::make_shared<EchoResponse>
    - auto::get
    - test::grpc::EchoStream::StartRead
    - time
    - test::grpc::EchoStream::StartWrite
    - Tag::Tag
    - std::shared_ptr<EchoStream>::rpc_::Read
    - test::grpc::EchoStream::StartDone
    linkageType: ''
    returnType: void
    signature: void StartRead(std::shared_ptr<EchoStream> es)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<EchoStream>::rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:460,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:460,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: test::grpc::EchoStream::StartDone
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 3
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - Tag::Tag
    - std::shared_ptr<EchoStream>::rpc_::WritesDone
    linkageType: ''
    returnType: void
    signature: void StartDone(std::shared_ptr<EchoStream> es)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<EchoStream>::rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:468,1
    - Dst: std::shared_ptr<EchoStream>::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:471,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:472,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:472,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:473,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:473,1
    - Dst: TestResult::mutable_echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:476,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:478,1
    - Dst: std::shared_ptr<EchoStream>::status_expected_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:478,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:482,1
    - Dst: std::shared_ptr<EchoStream>::status_expected_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:483,1
    - Dst: std::shared_ptr<EchoStream>::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:484,1
    - Dst: std::shared_ptr<EchoStream>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:488,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 490
    functionName: test::grpc::EchoStream::StartFinish
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 12
    functionsReached:
    - TestResult::mutable_echo_stream
    - std::shared_ptr<EchoStream>::status_expected_::error_code
    - std::shared_ptr<EchoStream>::status_::error_message
    - std::shared_ptr<EchoStream>::done_
    - std::shared_ptr<EchoStream>::rpc_::Finish
    - std::shared_ptr<EchoStream>::status_::ok
    - std::shared_ptr<EchoStream>::status_expected_::error_message
    - std::shared_ptr<EchoStream>::status_::error_code
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: void StartFinish(std::shared_ptr<EchoStream> es)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Parallel::Parallel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:517,1
    - Dst: test::grpc::Parallel::StartTests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ParallelTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: test::grpc::Parallel::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - Parallel::Parallel
    - test::grpc::Parallel::StartTests
    linkageType: ''
    returnType: void
    signature: "void Start(const ParallelTest &desc, Test::Stub *server_stub,\n                    Test::Stub
      *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::Parallel::GetWeightSum
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:529,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:530,1
    - Dst: ParallelTest::subtests_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ParallelTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 531
    functionName: test::grpc::Parallel::Parallel
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - test::grpc::Parallel::GetWeightSum
    - ParallelTest::subtests_size
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: "void Parallel(const ParallelTest &desc, Test::Stub *server_stub,\n
      \          CompletionQueue *cq,\n           std::function<void(bool, const TestResult
      &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParallelTest::subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:535,1
    - Dst: weight
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - desc
    argTypes:
    - ParallelTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 539
    functionName: test::grpc::Parallel::GetWeightSum
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 3
    functionsReached:
    - ParallelTest::subtests
    - weight
    linkageType: ''
    returnType: int
    signature: int GetWeightSum(const ParallelTest &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::Parallel::StartTestsLocked
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::shared_ptr<Parallel>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 3
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: test::grpc::Parallel::StartTests
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 3
    functionsReached:
    - test::grpc::Parallel::StartTestsLocked
    linkageType: ''
    returnType: void
    signature: void StartTests(std::shared_ptr<Parallel> p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Parallel>::desc_::parallel_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:547,1
    - Dst: std::shared_ptr<Parallel>::desc_::test_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:548,1
    - Dst: std::shared_ptr<Parallel>::NextSubtestType
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:555,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:557,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:561,1
    - Dst: SubtestStats::AddFailure
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:570,1
    - Dst: status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:570,1
    - Dst: SubtestStats::latencies::push_front
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:572,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:573,1
    - Dst: test::grpc::Parallel::StartTestsLocked
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:575,1
    - Dst: std::shared_ptr<Parallel>::desc_::test_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:576,1
    - Dst: std::shared_ptr<Parallel>::CalculateStats
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:577,1
    - Dst: std::shared_ptr<Parallel>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:578,1
    - Dst: std::shared_ptr<Parallel>::desc_::subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:582,1
    - Dst: auto::plan_case
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:583,1
    - Dst: test::grpc::Echo::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:585,1
    - Dst: auto::echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:585,1
    - Dst: test::grpc::EchoStream::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:589,1
    - Dst: auto::echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:589,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::shared_ptr<Parallel>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 546
    functionDepth: 2
    functionLinenumber: 546
    functionLinenumberEnd: 597
    functionName: test::grpc::Parallel::StartTestsLocked
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - SubtestStats::latencies::push_front
    - std::shared_ptr<Parallel>::CalculateStats
    - auto::plan_case
    - SubtestStats::AddFailure
    - std::shared_ptr<Parallel>::desc_::parallel_limit
    - std::shared_ptr<Parallel>::desc_::subtests
    - status
    - test::grpc::Parallel::StartTestsLocked
    - test::grpc::Echo::Start
    - std::shared_ptr<Parallel>::done_
    - auto::echo
    - test::grpc::EchoStream::Start
    - std::chrono::duration_cast<std::chrono::microseconds>
    - auto::echo_stream
    - std::shared_ptr<Parallel>::NextSubtestType
    - std::shared_ptr<Parallel>::desc_::test_count
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: void StartTestsLocked(std::shared_ptr<Parallel> p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:609,1
    - Dst: weight
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:610,1
    - Dst: weight
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 617
    functionName: test::grpc::Parallel::NextSubtestType
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - subtests
    - weight
    linkageType: ''
    returnType: int
    signature: int NextSubtestType()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mutable_parallel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:621,1
    - Dst: auto*::set_total_time_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:622,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:623,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:624,1
    - Dst: auto*::add_stats
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:629,1
    - Dst: ParallelSubtestStats*::set_succeeded_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:630,1
    - Dst: ParallelSubtestStats*::set_failed_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:631,1
    - Dst: count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:637,1
    - Dst: count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:643,1
    - Dst: std::sqrt
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:647,1
    - Dst: ParallelSubtestStats*::set_mean_latency_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:649,1
    - Dst: ParallelSubtestStats*::set_stddev_latency_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:650,1
    - Dst: second::Fill
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:653,1
    - Dst: ParallelSubtestStats*::add_failures
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:653,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:657,1
    - Dst: test_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:657,1
    - Dst: allowed_failure_rate
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:657,1
    - Dst: mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:658,1
    - Dst: mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 664
    functionName: test::grpc::Parallel::CalculateStats
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - second::Fill
    - mutable_parallel
    - std::sqrt
    - ParallelSubtestStats*::add_failures
    - ParallelSubtestStats*::set_failed_count
    - ParallelSubtestStats*::set_stddev_latency_micros
    - ParallelSubtestStats*::set_succeeded_count
    - count
    - static_cast<int>
    - auto*::add_stats
    - test_count
    - mutable_status
    - std::chrono::duration_cast<std::chrono::microseconds>
    - ParallelSubtestStats*::set_mean_latency_micros
    - allowed_failure_rate
    - auto*::set_total_time_micros
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: void CalculateStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - CallStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 670
    functionName: test::grpc::Parallel::AggregatedStatus::AggregatedStatus
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void AggregatedStatus(const CallStatus &status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 675
    functionName: test::grpc::Parallel::AggregatedStatus::Inc
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void Inc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AggregatedCallStatus*::set_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:678,1
    - Dst: AggregatedCallStatus*::set_start_time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:679,1
    - Dst: ctime
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:679,1
    - Dst: AggregatedCallStatus*::set_end_time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:680,1
    - Dst: ctime
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:680,1
    - Dst: AggregatedCallStatus*::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - call_status
    argTypes:
    - AggregatedCallStatus*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 682
    functionName: test::grpc::Parallel::AggregatedStatus::Fill
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - AggregatedCallStatus*::mutable_status
    - AggregatedCallStatus*::set_count
    - ctime
    - AggregatedCallStatus*::set_end_time
    - AggregatedCallStatus*::set_start_time
    linkageType: ''
    returnType: void
    signature: void Fill(AggregatedCallStatus *call_status) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetStatusAggregationKey
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:698,1
    - Dst: find
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:699,1
    - Dst: end
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:700,1
    - Dst: emplace
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:701,1
    - Dst: std::map<std::string, AggregatedStatus>::iterator::second::Inc
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - status
    argTypes:
    - CallStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 705
    functionName: test::grpc::Parallel::AddFailure
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::map<std::string, AggregatedStatus>::iterator::second::Inc
    - emplace
    - GetStatusAggregationKey
    - find
    - end
    linkageType: ''
    returnType: void
    signature: void AddFailure(const CallStatus &status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProbeCallLimit::ProbeCallLimit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:731,1
    - Dst: Test::Stub*::AsyncCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:733,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:736,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:737,1
    - Dst: std::shared_ptr::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:739,1
    - Dst: test::grpc::ProbeCallLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:742,1
    - Dst: test::grpc::ProbeCallLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:743,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ProbeCallLimitTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 727
    functionDepth: 2
    functionLinenumber: 727
    functionLinenumberEnd: 745
    functionName: test::grpc::ProbeCallLimit::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::done_
    - ProbeCallLimit::ProbeCallLimit
    - Test::Stub*::AsyncCork
    - test::grpc::ProbeCallLimit::StartProbe
    - test::grpc::ProbeCallLimit::StartReadCorkState
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const ProbeCallLimitTest &desc, Test::Stub *server_stub,\n
      \                   Test::Stub *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:752,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ProbeCallLimitTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 753
    functionName: test::grpc::ProbeCallLimit::ProbeCallLimit
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - CreateEchoRequestText
    - mutable_request
    linkageType: ''
    returnType: void
    signature: "void ProbeCallLimit(const ProbeCallLimitTest &desc, Test::Stub *server_stub,\n
      \                CompletionQueue *cq,\n                 std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:756,1
    - Dst: test::grpc::ProbeCallLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:766,1
    - Dst: std::shared_ptr<ProbeCallLimit>::alarm_::Cancel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:773,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeCallLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 776
    functionName: test::grpc::ProbeCallLimit::StartReadCorkState
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - test::grpc::ProbeCallLimit::StartReadCorkState
    - std::shared_ptr<ProbeCallLimit>::cork_rpc_::Read
    - Tag::Tag
    - std::shared_ptr<ProbeCallLimit>::alarm_::Cancel
    linkageType: ''
    returnType: void
    signature: void StartReadCorkState(std::shared_ptr<ProbeCallLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeCallLimit>::alarm_::reset
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:780,1
    - Dst: gpr_time_add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:782,1
    - Dst: gpr_now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:783,1
    - Dst: gpr_time_from_millis
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:784,1
    - Dst: std::shared_ptr<ProbeCallLimit>::desc_::timeout_ms
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:784,1
    - Dst: std::shared_ptr<ProbeCallLimit>::alarm_::reset
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:789,1
    - Dst: test::grpc::ProbeCallLimit::OnTimeout
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:790,1
    - Dst: test::grpc::ProbeCallLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:795,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:785,1
    - Dst: Alarm::Alarm
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:780,1
    - Dst: EchoResponse::EchoResponse
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:800,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:801,1
    - Dst: ClientContext::ClientContext
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:802,1
    - Dst: std::shared_ptr<ProbeCallLimit>::server_stub_::AsyncEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:804,1
    - Dst: std::shared_ptr<ProbeCallLimit>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:804,1
    - Dst: ClientAsyncResponseReader*::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:808,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeCallLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 818
    functionName: test::grpc::ProbeCallLimit::StartProbe
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - std::shared_ptr<ProbeCallLimit>::desc_::request
    - ClientAsyncResponseReader*::Finish
    - gpr_now
    - Alarm::Alarm
    - gpr_time_from_millis
    - std::shared_ptr<ProbeCallLimit>::alarm_::reset
    - std::shared_ptr<ProbeCallLimit>::server_stub_::AsyncEcho
    - test::grpc::ProbeCallLimit::OnTimeout
    - Status::Status
    - gpr_time_add
    - test::grpc::ProbeCallLimit::StartProbe
    - ClientContext::ClientContext
    - Tag::Tag
    - EchoResponse::EchoResponse
    - std::shared_ptr<ProbeCallLimit>::desc_::timeout_ms
    linkageType: ''
    returnType: void
    signature: void StartProbe(std::shared_ptr<ProbeCallLimit> pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_state_::current_corked_calls
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:823,1
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:825,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:826,1
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:827,1
    - Dst: TestResult::mutable_probe_call_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:831,1
    - Dst: std::shared_ptr<ProbeCallLimit>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:832,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:828,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeCallLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 835
    functionName: test::grpc::ProbeCallLimit::OnTimeout
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 3
    functionsReached:
    - std::shared_ptr<ProbeCallLimit>::cork_rpc_::WritesDone
    - TestResult::mutable_probe_call_limit
    - Status::Status
    - std::shared_ptr<ProbeCallLimit>::cork_rpc_::Finish
    - std::shared_ptr<ProbeCallLimit>::cork_state_::current_corked_calls
    - std::shared_ptr<ProbeCallLimit>::done_
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: void OnTimeout(std::shared_ptr<ProbeCallLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:864,1
    - Dst: Test::Stub*::AsyncCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:866,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:869,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:870,1
    - Dst: std::shared_ptr::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:872,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:875,1
    - Dst: std::shared_ptr::server_stub_::AsyncEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:876,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:878,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:879,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:877,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ProbeDownstreamMessageLimitTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 859
    functionDepth: 2
    functionLinenumber: 859
    functionLinenumberEnd: 882
    functionName: test::grpc::ProbeDownstreamMessageLimit::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::done_
    - test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
    - std::shared_ptr::server_stub_::AsyncEchoStream
    - Test::Stub*::AsyncCork
    - test::grpc::ProbeDownstreamMessageLimit::StartProbe
    - ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
    - test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const ProbeDownstreamMessageLimitTest &desc,\n                    Test::Stub
      *server_stub, Test::Stub *direct_stub,\n                    CompletionQueue
      *cq,\n                    std::function<void(bool, const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:889,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ProbeDownstreamMessageLimitTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 890
    functionName: test::grpc::ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - CreateEchoRequestText
    - mutable_request
    linkageType: ''
    returnType: void
    signature: "void ProbeDownstreamMessageLimit(\n      const ProbeDownstreamMessageLimitTest
      &desc, Test::Stub *server_stub,\n      CompletionQueue *cq, std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:894,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:898,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 900
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
    - std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Read
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: "void StartReadCorkState(\n      std::shared_ptr<ProbeDownstreamMessageLimit>
      pc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:904,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:908,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 910
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - Tag::Tag
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Read
    - test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
    linkageType: ''
    returnType: void
    signature: "void StartReadStreamMessages(\n      std::shared_ptr<ProbeDownstreamMessageLimit>
      pc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Alarm>::shared_ptr<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:919,1
    - Dst: std::make_shared<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:920,1
    - Dst: gpr_time_add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:922,1
    - Dst: gpr_now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:923,1
    - Dst: gpr_time_from_millis
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:924,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::timeout_ms
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:924,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::OnTimeout
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:929,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:932,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:925,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:940,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:940,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:943,1
    - Dst: std::shared_ptr::Cancel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:952,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 954
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartProbe
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - std::make_shared<Alarm>
    - gpr_now
    - gpr_time_from_millis
    - std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::timeout_ms
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Write
    - test::grpc::ProbeDownstreamMessageLimit::OnTimeout
    - gpr_time_add
    - std::shared_ptr<Alarm>::shared_ptr<Alarm>
    - test::grpc::ProbeDownstreamMessageLimit::StartProbe
    - std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::request
    - Tag::Tag
    - test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
    - std::shared_ptr::Cancel
    linkageType: ''
    returnType: void
    signature: void StartProbe(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:960,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:961,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:962,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:965,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:962,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:960,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 956
    functionDepth: 2
    functionLinenumber: 956
    functionLinenumberEnd: 972
    functionName: test::grpc::ProbeDownstreamMessageLimit::OnTimeout
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 3
    functionsReached:
    - std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::WritesDone
    - std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Finish
    - test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
    - Status::Status
    - Tag::Tag
    - test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
    linkageType: ''
    returnType: void
    signature: void OnTimeout(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:975,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:976,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:977,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:980,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:977,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 983
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Finish
    - test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
    - Status::Status
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::WritesDone
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: void StartWritesDone(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TestResult::mutable_probe_downstream_message_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:991,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 994
    functionName: test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - TestResult::mutable_probe_downstream_message_limit
    - std::shared_ptr<ProbeDownstreamMessageLimit>::done_
    linkageType: ''
    returnType: void
    signature: void TryIssueReport(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1032,1
    - Dst: std::shared_ptr::server_stub_::AsyncEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1033,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1037,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1038,1
    - Dst: std::shared_ptr::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1040,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1043,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ProbeUpstreamMessageLimitTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1027
    functionDepth: 2
    functionLinenumber: 1027
    functionLinenumberEnd: 1045
    functionName: test::grpc::ProbeUpstreamMessageLimit::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::done_
    - ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
    - std::shared_ptr::server_stub_::AsyncEchoStream
    - test::grpc::ProbeUpstreamMessageLimit::StartProbe
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const ProbeUpstreamMessageLimitTest &desc,\n                    Test::Stub
      *server_stub, Test::Stub *direct_stub,\n                    CompletionQueue
      *cq,\n                    std::function<void(bool, const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1052,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ProbeUpstreamMessageLimitTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1053
    functionName: test::grpc::ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - CreateEchoRequestText
    - mutable_request
    linkageType: ''
    returnType: void
    signature: "void ProbeUpstreamMessageLimit(const ProbeUpstreamMessageLimitTest
      &desc,\n                            Test::Stub *server_stub, CompletionQueue
      *cq,\n                            std::function<void(bool, const TestResult
      &)> done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1059,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1063,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1065
    functionName: test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 5
    functionsReached:
    - Tag::Tag
    - test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Read
    linkageType: ''
    returnType: void
    signature: "void StartReadStreamMessages(\n      std::shared_ptr<ProbeUpstreamMessageLimit>
      pc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Alarm>::shared_ptr<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1074,1
    - Dst: std::make_shared<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1075,1
    - Dst: gpr_time_add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1077,1
    - Dst: gpr_now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1078,1
    - Dst: gpr_time_from_millis
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1079,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::timeout_ms
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1079,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::OnTimeout
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1084,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1087,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1080,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1095,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1095,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1098,1
    - Dst: std::shared_ptr::Cancel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1105,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1067
    functionDepth: 3
    functionLinenumber: 1067
    functionLinenumberEnd: 1107
    functionName: test::grpc::ProbeUpstreamMessageLimit::StartProbe
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - std::make_shared<Alarm>
    - gpr_now
    - std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::timeout_ms
    - gpr_time_from_millis
    - std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::request
    - gpr_time_add
    - test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
    - std::shared_ptr<Alarm>::shared_ptr<Alarm>
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Write
    - test::grpc::ProbeUpstreamMessageLimit::StartProbe
    - test::grpc::ProbeUpstreamMessageLimit::OnTimeout
    - Tag::Tag
    - std::shared_ptr::Cancel
    linkageType: ''
    returnType: void
    signature: void StartProbe(std::shared_ptr<ProbeUpstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1114,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1109
    functionDepth: 2
    functionLinenumber: 1109
    functionLinenumberEnd: 1119
    functionName: test::grpc::ProbeUpstreamMessageLimit::OnTimeout
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 3
    functionsReached:
    - test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
    - test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
    linkageType: ''
    returnType: void
    signature: void OnTimeout(std::shared_ptr<ProbeUpstreamMessageLimit> pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1122,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1123,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1124,1
    - Dst: TestResult::mutable_probe_upstream_message_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1128,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1130,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1125,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1133
    functionName: test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - TestResult::mutable_probe_upstream_message_limit
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Finish
    - Status::Status
    - std::shared_ptr<ProbeUpstreamMessageLimit>::done_
    - Tag::Tag
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::WritesDone
    linkageType: ''
    returnType: void
    signature: void StartWritesDone(std::shared_ptr<ProbeUpstreamMessageLimit> pc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TestPlans::server_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1153,1
    - Dst: test::grpc::GetStub
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1154,1
    - Dst: TestPlans::server_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1154,1
    - Dst: TestPlans::direct_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1156,1
    - Dst: test::grpc::GetStub
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1157,1
    - Dst: TestPlans::direct_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1157,1
    - Dst: test::grpc::Echo::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1162,1
    - Dst: std::unique_ptr::get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1162,1
    - Dst: get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1162,1
    - Dst: CompletionQueue::Shutdown
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1165,1
    - Dst: TestPlans::has_warmup
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1169,1
    - Dst: test::grpc::Echo::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: TestPlans::warmup
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: std::unique_ptr::get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: start_test
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1173,1
    - Dst: start_test
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1177,1
    - Dst: CompletionQueue::Next
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1183,1
    - Dst: reinterpret_cast<Tag *>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - plans
    - desc
    - result
    argTypes:
    - TestPlans
    - typename T::TestDesc
    - TestResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1149
    functionDepth: 1
    functionLinenumber: 1149
    functionLinenumberEnd: 1188
    functionName: test::grpc::RunSync
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 1
    functionsReached:
    - TestPlans::warmup
    - reinterpret_cast<Tag *>
    - std::unique_ptr::get
    - TestPlans::direct_addr
    - test::grpc::Echo::Start
    - start_test
    - TestPlans::has_warmup
    - TestPlans::server_addr
    - test::grpc::GetStub
    - get
    - CompletionQueue::Shutdown
    - CompletionQueue::Next
    linkageType: ''
    returnType: void
    signature: "void RunSync(const TestPlans &plans, const typename T::TestDesc &desc,\n
      \            TestResult *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InsecureChannelCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unused_desc
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 9
    functionsReached:
    - InsecureChannelCredentials
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const T &unused_desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CallConfig::use_ssl
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:138,1
    - Dst: ::grpc::SslCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:140,1
    - Dst: InsecureChannelCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - call_config
    argTypes:
    - CallConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 9
    functionsReached:
    - CallConfig::use_ssl
    - InsecureChannelCredentials
    - ::grpc::SslCredentials
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const CallConfig &call_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:147,1
    - Dst: EchoTest::call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - EchoTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 10
    functionsReached:
    - test::grpc::GetCreds
    - EchoTest::call_config
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const EchoTest &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:152,1
    - Dst: EchoStreamTest::call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - EchoStreamTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 11
    functionsReached:
    - test::grpc::GetCreds
    - EchoStreamTest::call_config
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const EchoStreamTest &desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParallelTest::subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:157,1
    - Dst: auto::plan_case
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:158,1
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:160,1
    - Dst: auto::echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:160,1
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:162,1
    - Dst: auto::echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:162,1
    - Dst: InsecureChannelCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - desc
    argTypes:
    - ParallelTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 12
    functionsReached:
    - auto::plan_case
    - ParallelTest::subtests
    - test::grpc::GetCreds
    - InsecureChannelCredentials
    - auto::echo
    - auto::echo_stream
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const ParallelTest &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChannelArguments::SetMaxReceiveMessageSize
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:173,1
    - Dst: ChannelArguments::SetMaxSendMessageSize
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:174,1
    - Dst: std::unique_ptr<Test::Stub>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:177,1
    - Dst: Test::NewStub
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - addr
    - desc
    argTypes:
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: test::grpc::GetStub
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 3
    functionsReached:
    - Test::NewStub
    - ChannelArguments::SetMaxSendMessageSize
    - std::unique_ptr<Test::Stub>
    - ChannelArguments::SetMaxReceiveMessageSize
    linkageType: ''
    returnType: std::unique_ptr<Test::Stub>
    signature: "std::unique_ptr<Test::Stub> GetStub(const std::string &addr,\n                                           const
      T &desc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CallConfig::api_key
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:181,1
    - Dst: ClientContext*::AddMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:182,1
    - Dst: CallConfig::api_key
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:182,1
    - Dst: CallConfig::auth_token
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:184,1
    - Dst: ClientContext*::AddMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:185,1
    - Dst: CallConfig::auth_token
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:185,1
    - Dst: CallConfig::metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:187,1
    - Dst: ClientContext*::AddMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:188,1
    - Dst: CallConfig::compression
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:190,1
    - Dst: ClientContext*::set_compression_algorithm
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:191,1
    - Dst: static_cast<grpc_compression_algorithm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:192,1
    - Dst: CallConfig::compression
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - call_config
    - ctx
    argTypes:
    - CallConfig
    - ClientContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: test::grpc::SetCallConfig
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - ClientContext*::set_compression_algorithm
    - ClientContext*::AddMetadata
    - CallConfig::auth_token
    - CallConfig::compression
    - CallConfig::api_key
    - CallConfig::metadata
    - static_cast<grpc_compression_algorithm>
    linkageType: ''
    returnType: void
    signature: void SetCallConfig(const CallConfig &call_config, ClientContext *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:202,1
    - Dst: first::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:202,1
    - Dst: first::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:202,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:203,1
    - Dst: second::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:203,1
    - Dst: second::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:203,1
    - Dst: T1::find
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:204,1
    - Dst: T1::end
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:204,1
    - Dst: T1::at
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:205,1
    - Dst: google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>*::Add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:208,1
    - Dst: auto*::set_key
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:209,1
    - Dst: auto*::set_expected
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:210,1
    - Dst: T1::at
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:210,1
    - Dst: auto*::set_actual
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - expected
    - actual
    - results
    argTypes:
    - T1
    - T2
    - google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 215
    functionName: test::grpc::VerifyMetadata
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - auto*::set_expected
    - first::data
    - auto*::set_key
    - first::size
    - auto*::set_actual
    - second::size
    - google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>*::Add
    - T1::end
    - second::data
    - T1::find
    - std::string
    - T1::at
    linkageType: ''
    returnType: int
    signature: "int VerifyMetadata(\n    const T1 &expected, const T2 &actual,\n    google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>
      *results)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size_dist
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:223,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:225,1
    - Dst: byte_dist
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:229,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:231,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - max_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 232
    functionName: test::grpc::RandomString
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 3
    functionsReached:
    - std::string
    - reinterpret_cast<const char *>
    - byte_dist
    - size_dist
    linkageType: ''
    returnType: std::string
    signature: std::string RandomString(int max_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoRequest*::random_payload_max_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:235,1
    - Dst: EchoRequest*::set_text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:236,1
    - Dst: test::grpc::RandomString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:236,1
    - Dst: EchoRequest*::random_payload_max_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:236,1
    - Dst: EchoRequest*::space_payload_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:238,1
    - Dst: EchoRequest*::set_text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:239,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:239,1
    - Dst: EchoRequest*::space_payload_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - EchoRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: test::grpc::CreateEchoRequestText
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - test::grpc::RandomString
    - EchoRequest*::set_text
    - EchoRequest*::space_payload_size
    - EchoRequest*::random_payload_max_size
    - std::string
    linkageType: ''
    returnType: void
    signature: void CreateEchoRequestText(EchoRequest *request)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CallStatus::details
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:244,1
    - Dst: test::grpc::JsonToProto
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:248,1
    - Dst: ::test::grpc::GrpcErrorDetail::SerializeToString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:249,1
    - Dst: std::to_string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:251,1
    - Dst: CallStatus::code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - status
    argTypes:
    - CallStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 252
    functionName: test::grpc::GetStatusAggregationKey
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - ::test::grpc::GrpcErrorDetail::SerializeToString
    - CallStatus::details
    - CallStatus::code
    - std::to_string
    - test::grpc::JsonToProto
    linkageType: ''
    returnType: std::string
    signature: std::string GetStatusAggregationKey(const CallStatus &status)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Echo::Echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:261,1
    - Dst: Test::Stub*::AsyncEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:262,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:262,1
    - Dst: std::shared_ptr::rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:263,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:266,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:267,1
    - Dst: std::shared_ptr::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:267,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:268,1
    - Dst: std::shared_ptr::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:268,1
    - Dst: TestResult::mutable_echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:270,1
    - Dst: std::shared_ptr::response_::text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:270,1
    - Dst: std::shared_ptr::desc_::expected_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:275,1
    - Dst: std::shared_ptr::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:276,1
    - Dst: std::shared_ptr::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:277,1
    - Dst: std::shared_ptr::desc_::expected_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:278,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:280,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:281,1
    - Dst: std::shared_ptr::response_::text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:281,1
    - Dst: TestResult::mutable_echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:284,1
    - Dst: VerifyMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:286,1
    - Dst: std::shared_ptr::desc_::call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:287,1
    - Dst: std::shared_ptr::response_::received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:288,1
    - Dst: VerifyMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:289,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:290,1
    - Dst: std::shared_ptr::ctx_::GetServerInitialMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:291,1
    - Dst: VerifyMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:292,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:293,1
    - Dst: std::shared_ptr::ctx_::GetServerTrailingMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:294,1
    - Dst: TestResult::mutable_echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:295,1
    - Dst: auto*::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:296,1
    - Dst: std::shared_ptr::desc_::expected_metadata_keys
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:299,1
    - Dst: std::shared_ptr::response_::received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:300,1
    - Dst: std::shared_ptr::response_::received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:301,1
    - Dst: TestResult::mutable_additional_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:302,1
    - Dst: done
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:305,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - EchoTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 307
    functionName: test::grpc::Echo::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - std::shared_ptr::response_::received_metadata
    - std::shared_ptr::ctx_::GetServerTrailingMetadata
    - std::shared_ptr::desc_::expected_metadata_keys
    - auto*::size
    - std::shared_ptr::desc_::call_config
    - TestResult::mutable_echo
    - std::shared_ptr::desc_::expected_status
    - std::shared_ptr::status_::error_message
    - TestResult::mutable_additional_metadata
    - std::shared_ptr::desc_::request
    - std::shared_ptr::response_::text
    - done
    - std::shared_ptr::ctx_::GetServerInitialMetadata
    - std::shared_ptr::status_::ok
    - VerifyMetadata
    - std::shared_ptr::rpc_::Finish
    - Test::Stub*::AsyncEcho
    - Echo::Echo
    - std::shared_ptr::status_::error_code
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const EchoTest &desc, Test::Stub *server_stub,\n                    Test::Stub
      *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetCallConfig
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:312,1
    - Dst: call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:312,1
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:313,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - desc
    - done
    argTypes:
    - EchoTest
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: test::grpc::Echo::Echo
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - call_config
    - CreateEchoRequestText
    - mutable_request
    - SetCallConfig
    linkageType: ''
    returnType: void
    signature: void Echo(const EchoTest &desc, std::function<void(bool, const TestResult
      &)> done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoReport::EchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:331,1
    - Dst: Test::Stub*::AsyncEchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:333,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:333,1
    - Dst: std::shared_ptr::rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:334,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:337,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:338,1
    - Dst: std::shared_ptr::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:338,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:339,1
    - Dst: std::shared_ptr::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:339,1
    - Dst: TestResult::mutable_echo_report
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:342,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:345,1
    - Dst: MessageDifferencer::Equals
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:346,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:346,1
    - Dst: done
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:349,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - EchoReportTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 351
    functionName: test::grpc::EchoReport::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - MessageDifferencer::Equals
    - std::shared_ptr::rpc_::Finish
    - done
    - TestResult::mutable_echo_report
    - Test::Stub*::AsyncEchoReport
    - EchoReport::EchoReport
    - std::shared_ptr::status_::ok
    - std::shared_ptr::status_::error_message
    - std::shared_ptr::status_::error_code
    - Tag::Tag
    - std::shared_ptr::desc_::request
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const EchoReportTest &desc, Test::Stub *server_stub,\n
      \                   Test::Stub *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - desc
    - done
    argTypes:
    - EchoReportTest
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: test::grpc::EchoReport::EchoReport
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EchoReport(const EchoReportTest &desc,\n             std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EchoStream::EchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:373,1
    - Dst: Test::Stub*::AsyncEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:375,1
    - Dst: test::grpc::EchoStream::StartWrite
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:377,1
    - Dst: test::grpc::EchoStream::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:378,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:380,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - EchoStreamTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 383
    functionName: test::grpc::EchoStream::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 3
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - Test::Stub*::AsyncEchoStream
    - test::grpc::EchoStream::StartRead
    - EchoStream::EchoStream
    - test::grpc::EchoStream::StartWrite
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: "void Start(const EchoStreamTest &desc, Test::Stub *server_stub,\n
      \                   Test::Stub *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EchoStreamTest::count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:392,1
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:393,1
    - Dst: SetCallConfig
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:394,1
    - Dst: call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:394,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:395,1
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - EchoStreamTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 398
    functionName: test::grpc::EchoStream::EchoStream
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - call_config
    - mutable_request
    - SetCallConfig
    - EchoStreamTest::count
    - time
    - CreateEchoRequestText
    linkageType: ''
    returnType: void
    signature: "void EchoStream(const EchoStreamTest &desc, Test::Stub *server_stub,\n
      \            CompletionQueue *cq,\n             std::function<void(bool, const
      TestResult &)> done)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<EchoStream>::desc_::request_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:409,1
    - Dst: std::shared_ptr<EchoStream>::desc_::request_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:410,1
    - Dst: std::shared_ptr<EchoStream>::desc_::expected_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:412,1
    - Dst: CallStatus::code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:413,1
    - Dst: Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: StatusCode
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: CallStatus::code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: CallStatus::details
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: std::shared_ptr<EchoStream>::rpc_::Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:418,1
    - Dst: std::shared_ptr<EchoStream>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:418,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:425,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:418,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 428
    functionName: test::grpc::EchoStream::StartWrite
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 7
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - CallStatus::details
    - std::shared_ptr<EchoStream>::desc_::expected_status
    - CallStatus::code
    - std::shared_ptr<EchoStream>::desc_::request_size
    - std::shared_ptr<EchoStream>::desc_::request
    - Status
    - std::shared_ptr<EchoStream>::rpc_::Write
    - Tag::Tag
    - StatusCode
    linkageType: ''
    returnType: void
    signature: "void StartWrite(std::shared_ptr<EchoStream> es,\n                         bool
      write_accounted_for = false)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<EchoResponse>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:431,1
    - Dst: std::shared_ptr<EchoStream>::rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:432,1
    - Dst: auto::get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:432,1
    - Dst: test::grpc::EchoStream::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:434,1
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:437,1
    - Dst: std::shared_ptr<EchoStream>::desc_::count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:439,1
    - Dst: std::shared_ptr<EchoStream>::desc_::count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:440,1
    - Dst: std::shared_ptr<EchoStream>::desc_::duration_in_sec
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:441,1
    - Dst: std::shared_ptr<EchoStream>::desc_::duration_in_sec
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:443,1
    - Dst: test::grpc::EchoStream::StartWrite
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:444,1
    - Dst: test::grpc::EchoStream::StartDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:446,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:450,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 453
    functionName: test::grpc::EchoStream::StartRead
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 8
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - std::shared_ptr<EchoStream>::desc_::count
    - std::shared_ptr<EchoStream>::desc_::duration_in_sec
    - std::make_shared<EchoResponse>
    - auto::get
    - test::grpc::EchoStream::StartRead
    - time
    - test::grpc::EchoStream::StartWrite
    - Tag::Tag
    - std::shared_ptr<EchoStream>::rpc_::Read
    - test::grpc::EchoStream::StartDone
    linkageType: ''
    returnType: void
    signature: void StartRead(std::shared_ptr<EchoStream> es)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<EchoStream>::rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:460,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:460,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: test::grpc::EchoStream::StartDone
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - Tag::Tag
    - std::shared_ptr<EchoStream>::rpc_::WritesDone
    linkageType: ''
    returnType: void
    signature: void StartDone(std::shared_ptr<EchoStream> es)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<EchoStream>::rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:468,1
    - Dst: std::shared_ptr<EchoStream>::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:471,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:472,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:472,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:473,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:473,1
    - Dst: TestResult::mutable_echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:476,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:478,1
    - Dst: std::shared_ptr<EchoStream>::status_expected_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:478,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:482,1
    - Dst: std::shared_ptr<EchoStream>::status_expected_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:483,1
    - Dst: std::shared_ptr<EchoStream>::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:484,1
    - Dst: std::shared_ptr<EchoStream>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:488,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 490
    functionName: test::grpc::EchoStream::StartFinish
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 16
    functionsReached:
    - TestResult::mutable_echo_stream
    - std::shared_ptr<EchoStream>::status_expected_::error_code
    - std::shared_ptr<EchoStream>::status_::error_message
    - std::shared_ptr<EchoStream>::done_
    - std::shared_ptr<EchoStream>::rpc_::Finish
    - std::shared_ptr<EchoStream>::status_::ok
    - std::shared_ptr<EchoStream>::status_expected_::error_message
    - std::shared_ptr<EchoStream>::status_::error_code
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: void StartFinish(std::shared_ptr<EchoStream> es)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Parallel::Parallel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:517,1
    - Dst: test::grpc::Parallel::StartTests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ParallelTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: test::grpc::Parallel::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - Parallel::Parallel
    - test::grpc::Parallel::StartTests
    linkageType: ''
    returnType: void
    signature: "void Start(const ParallelTest &desc, Test::Stub *server_stub,\n                    Test::Stub
      *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::Parallel::GetWeightSum
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:529,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:530,1
    - Dst: ParallelTest::subtests_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ParallelTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 531
    functionName: test::grpc::Parallel::Parallel
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - test::grpc::Parallel::GetWeightSum
    - ParallelTest::subtests_size
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: "void Parallel(const ParallelTest &desc, Test::Stub *server_stub,\n
      \          CompletionQueue *cq,\n           std::function<void(bool, const TestResult
      &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParallelTest::subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:535,1
    - Dst: weight
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - desc
    argTypes:
    - ParallelTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 539
    functionName: test::grpc::Parallel::GetWeightSum
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - ParallelTest::subtests
    - weight
    linkageType: ''
    returnType: int
    signature: int GetWeightSum(const ParallelTest &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::Parallel::StartTestsLocked
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::shared_ptr<Parallel>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 3
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: test::grpc::Parallel::StartTests
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - test::grpc::Parallel::StartTestsLocked
    linkageType: ''
    returnType: void
    signature: void StartTests(std::shared_ptr<Parallel> p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Parallel>::desc_::parallel_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:547,1
    - Dst: std::shared_ptr<Parallel>::desc_::test_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:548,1
    - Dst: std::shared_ptr<Parallel>::NextSubtestType
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:555,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:557,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:561,1
    - Dst: SubtestStats::AddFailure
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:570,1
    - Dst: status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:570,1
    - Dst: SubtestStats::latencies::push_front
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:572,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:573,1
    - Dst: test::grpc::Parallel::StartTestsLocked
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:575,1
    - Dst: std::shared_ptr<Parallel>::desc_::test_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:576,1
    - Dst: std::shared_ptr<Parallel>::CalculateStats
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:577,1
    - Dst: std::shared_ptr<Parallel>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:578,1
    - Dst: std::shared_ptr<Parallel>::desc_::subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:582,1
    - Dst: auto::plan_case
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:583,1
    - Dst: test::grpc::Echo::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:585,1
    - Dst: auto::echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:585,1
    - Dst: test::grpc::EchoStream::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:589,1
    - Dst: auto::echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:589,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::shared_ptr<Parallel>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 546
    functionDepth: 2
    functionLinenumber: 546
    functionLinenumberEnd: 597
    functionName: test::grpc::Parallel::StartTestsLocked
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 8
    functionsReached:
    - SubtestStats::latencies::push_front
    - std::shared_ptr<Parallel>::CalculateStats
    - auto::plan_case
    - SubtestStats::AddFailure
    - std::shared_ptr<Parallel>::desc_::parallel_limit
    - std::shared_ptr<Parallel>::desc_::subtests
    - status
    - test::grpc::Parallel::StartTestsLocked
    - test::grpc::Echo::Start
    - std::shared_ptr<Parallel>::done_
    - auto::echo
    - test::grpc::EchoStream::Start
    - std::chrono::duration_cast<std::chrono::microseconds>
    - auto::echo_stream
    - std::shared_ptr<Parallel>::NextSubtestType
    - std::shared_ptr<Parallel>::desc_::test_count
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: void StartTestsLocked(std::shared_ptr<Parallel> p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:609,1
    - Dst: weight
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:610,1
    - Dst: weight
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 617
    functionName: test::grpc::Parallel::NextSubtestType
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - subtests
    - weight
    linkageType: ''
    returnType: int
    signature: int NextSubtestType()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mutable_parallel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:621,1
    - Dst: auto*::set_total_time_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:622,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:623,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:624,1
    - Dst: auto*::add_stats
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:629,1
    - Dst: ParallelSubtestStats*::set_succeeded_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:630,1
    - Dst: ParallelSubtestStats*::set_failed_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:631,1
    - Dst: count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:637,1
    - Dst: count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:643,1
    - Dst: std::sqrt
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:647,1
    - Dst: ParallelSubtestStats*::set_mean_latency_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:649,1
    - Dst: ParallelSubtestStats*::set_stddev_latency_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:650,1
    - Dst: second::Fill
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:653,1
    - Dst: ParallelSubtestStats*::add_failures
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:653,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:657,1
    - Dst: test_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:657,1
    - Dst: allowed_failure_rate
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:657,1
    - Dst: mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:658,1
    - Dst: mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 664
    functionName: test::grpc::Parallel::CalculateStats
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - second::Fill
    - mutable_parallel
    - std::sqrt
    - ParallelSubtestStats*::add_failures
    - ParallelSubtestStats*::set_failed_count
    - ParallelSubtestStats*::set_stddev_latency_micros
    - ParallelSubtestStats*::set_succeeded_count
    - count
    - static_cast<int>
    - auto*::add_stats
    - test_count
    - mutable_status
    - std::chrono::duration_cast<std::chrono::microseconds>
    - ParallelSubtestStats*::set_mean_latency_micros
    - allowed_failure_rate
    - auto*::set_total_time_micros
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: void CalculateStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - CallStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 670
    functionName: test::grpc::Parallel::AggregatedStatus::AggregatedStatus
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void AggregatedStatus(const CallStatus &status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 675
    functionName: test::grpc::Parallel::AggregatedStatus::Inc
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void Inc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AggregatedCallStatus*::set_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:678,1
    - Dst: AggregatedCallStatus*::set_start_time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:679,1
    - Dst: ctime
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:679,1
    - Dst: AggregatedCallStatus*::set_end_time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:680,1
    - Dst: ctime
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:680,1
    - Dst: AggregatedCallStatus*::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - call_status
    argTypes:
    - AggregatedCallStatus*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 682
    functionName: test::grpc::Parallel::AggregatedStatus::Fill
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - AggregatedCallStatus*::mutable_status
    - AggregatedCallStatus*::set_count
    - ctime
    - AggregatedCallStatus*::set_end_time
    - AggregatedCallStatus*::set_start_time
    linkageType: ''
    returnType: void
    signature: void Fill(AggregatedCallStatus *call_status) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetStatusAggregationKey
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:698,1
    - Dst: find
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:699,1
    - Dst: end
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:700,1
    - Dst: emplace
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:701,1
    - Dst: std::map<std::string, AggregatedStatus>::iterator::second::Inc
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - status
    argTypes:
    - CallStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 705
    functionName: test::grpc::Parallel::AddFailure
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::map<std::string, AggregatedStatus>::iterator::second::Inc
    - emplace
    - GetStatusAggregationKey
    - find
    - end
    linkageType: ''
    returnType: void
    signature: void AddFailure(const CallStatus &status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProbeCallLimit::ProbeCallLimit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:731,1
    - Dst: Test::Stub*::AsyncCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:733,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:736,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:737,1
    - Dst: std::shared_ptr::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:739,1
    - Dst: test::grpc::ProbeCallLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:742,1
    - Dst: test::grpc::ProbeCallLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:743,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ProbeCallLimitTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 727
    functionDepth: 2
    functionLinenumber: 727
    functionLinenumberEnd: 745
    functionName: test::grpc::ProbeCallLimit::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::done_
    - ProbeCallLimit::ProbeCallLimit
    - Test::Stub*::AsyncCork
    - test::grpc::ProbeCallLimit::StartProbe
    - test::grpc::ProbeCallLimit::StartReadCorkState
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const ProbeCallLimitTest &desc, Test::Stub *server_stub,\n
      \                   Test::Stub *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:752,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ProbeCallLimitTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 753
    functionName: test::grpc::ProbeCallLimit::ProbeCallLimit
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - CreateEchoRequestText
    - mutable_request
    linkageType: ''
    returnType: void
    signature: "void ProbeCallLimit(const ProbeCallLimitTest &desc, Test::Stub *server_stub,\n
      \                CompletionQueue *cq,\n                 std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:756,1
    - Dst: test::grpc::ProbeCallLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:766,1
    - Dst: std::shared_ptr<ProbeCallLimit>::alarm_::Cancel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:773,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeCallLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 776
    functionName: test::grpc::ProbeCallLimit::StartReadCorkState
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 8
    functionsReached:
    - test::grpc::ProbeCallLimit::StartReadCorkState
    - std::shared_ptr<ProbeCallLimit>::cork_rpc_::Read
    - Tag::Tag
    - std::shared_ptr<ProbeCallLimit>::alarm_::Cancel
    linkageType: ''
    returnType: void
    signature: void StartReadCorkState(std::shared_ptr<ProbeCallLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeCallLimit>::alarm_::reset
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:780,1
    - Dst: gpr_time_add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:782,1
    - Dst: gpr_now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:783,1
    - Dst: gpr_time_from_millis
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:784,1
    - Dst: std::shared_ptr<ProbeCallLimit>::desc_::timeout_ms
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:784,1
    - Dst: std::shared_ptr<ProbeCallLimit>::alarm_::reset
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:789,1
    - Dst: test::grpc::ProbeCallLimit::OnTimeout
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:790,1
    - Dst: test::grpc::ProbeCallLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:795,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:785,1
    - Dst: Alarm::Alarm
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:780,1
    - Dst: EchoResponse::EchoResponse
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:800,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:801,1
    - Dst: ClientContext::ClientContext
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:802,1
    - Dst: std::shared_ptr<ProbeCallLimit>::server_stub_::AsyncEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:804,1
    - Dst: std::shared_ptr<ProbeCallLimit>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:804,1
    - Dst: ClientAsyncResponseReader*::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:808,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeCallLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 818
    functionName: test::grpc::ProbeCallLimit::StartProbe
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 8
    functionsReached:
    - std::shared_ptr<ProbeCallLimit>::desc_::request
    - ClientAsyncResponseReader*::Finish
    - gpr_now
    - Alarm::Alarm
    - gpr_time_from_millis
    - std::shared_ptr<ProbeCallLimit>::alarm_::reset
    - std::shared_ptr<ProbeCallLimit>::server_stub_::AsyncEcho
    - test::grpc::ProbeCallLimit::OnTimeout
    - Status::Status
    - gpr_time_add
    - test::grpc::ProbeCallLimit::StartProbe
    - ClientContext::ClientContext
    - Tag::Tag
    - EchoResponse::EchoResponse
    - std::shared_ptr<ProbeCallLimit>::desc_::timeout_ms
    linkageType: ''
    returnType: void
    signature: void StartProbe(std::shared_ptr<ProbeCallLimit> pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_state_::current_corked_calls
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:823,1
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:825,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:826,1
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:827,1
    - Dst: TestResult::mutable_probe_call_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:831,1
    - Dst: std::shared_ptr<ProbeCallLimit>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:832,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:828,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeCallLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 835
    functionName: test::grpc::ProbeCallLimit::OnTimeout
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - std::shared_ptr<ProbeCallLimit>::cork_rpc_::WritesDone
    - TestResult::mutable_probe_call_limit
    - Status::Status
    - std::shared_ptr<ProbeCallLimit>::cork_rpc_::Finish
    - std::shared_ptr<ProbeCallLimit>::cork_state_::current_corked_calls
    - std::shared_ptr<ProbeCallLimit>::done_
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: void OnTimeout(std::shared_ptr<ProbeCallLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:864,1
    - Dst: Test::Stub*::AsyncCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:866,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:869,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:870,1
    - Dst: std::shared_ptr::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:872,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:875,1
    - Dst: std::shared_ptr::server_stub_::AsyncEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:876,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:878,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:879,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:877,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ProbeDownstreamMessageLimitTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 859
    functionDepth: 2
    functionLinenumber: 859
    functionLinenumberEnd: 882
    functionName: test::grpc::ProbeDownstreamMessageLimit::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::done_
    - test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
    - std::shared_ptr::server_stub_::AsyncEchoStream
    - Test::Stub*::AsyncCork
    - test::grpc::ProbeDownstreamMessageLimit::StartProbe
    - ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
    - test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const ProbeDownstreamMessageLimitTest &desc,\n                    Test::Stub
      *server_stub, Test::Stub *direct_stub,\n                    CompletionQueue
      *cq,\n                    std::function<void(bool, const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:889,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ProbeDownstreamMessageLimitTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 890
    functionName: test::grpc::ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - CreateEchoRequestText
    - mutable_request
    linkageType: ''
    returnType: void
    signature: "void ProbeDownstreamMessageLimit(\n      const ProbeDownstreamMessageLimitTest
      &desc, Test::Stub *server_stub,\n      CompletionQueue *cq, std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:894,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:898,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 900
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 8
    functionsReached:
    - test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
    - std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Read
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: "void StartReadCorkState(\n      std::shared_ptr<ProbeDownstreamMessageLimit>
      pc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:904,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:908,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 910
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 8
    functionsReached:
    - Tag::Tag
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Read
    - test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
    linkageType: ''
    returnType: void
    signature: "void StartReadStreamMessages(\n      std::shared_ptr<ProbeDownstreamMessageLimit>
      pc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Alarm>::shared_ptr<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:919,1
    - Dst: std::make_shared<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:920,1
    - Dst: gpr_time_add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:922,1
    - Dst: gpr_now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:923,1
    - Dst: gpr_time_from_millis
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:924,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::timeout_ms
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:924,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::OnTimeout
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:929,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:932,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:925,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:940,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:940,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:943,1
    - Dst: std::shared_ptr::Cancel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:952,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 954
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartProbe
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 8
    functionsReached:
    - std::make_shared<Alarm>
    - gpr_now
    - gpr_time_from_millis
    - std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::timeout_ms
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Write
    - test::grpc::ProbeDownstreamMessageLimit::OnTimeout
    - gpr_time_add
    - std::shared_ptr<Alarm>::shared_ptr<Alarm>
    - test::grpc::ProbeDownstreamMessageLimit::StartProbe
    - std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::request
    - Tag::Tag
    - test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
    - std::shared_ptr::Cancel
    linkageType: ''
    returnType: void
    signature: void StartProbe(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:960,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:961,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:962,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:965,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:962,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:960,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 956
    functionDepth: 2
    functionLinenumber: 956
    functionLinenumberEnd: 972
    functionName: test::grpc::ProbeDownstreamMessageLimit::OnTimeout
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::WritesDone
    - std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Finish
    - test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
    - Status::Status
    - Tag::Tag
    - test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
    linkageType: ''
    returnType: void
    signature: void OnTimeout(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:975,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:976,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:977,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:980,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:977,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 983
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 8
    functionsReached:
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Finish
    - test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
    - Status::Status
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::WritesDone
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: void StartWritesDone(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TestResult::mutable_probe_downstream_message_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:991,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 994
    functionName: test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 8
    functionsReached:
    - TestResult::mutable_probe_downstream_message_limit
    - std::shared_ptr<ProbeDownstreamMessageLimit>::done_
    linkageType: ''
    returnType: void
    signature: void TryIssueReport(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1032,1
    - Dst: std::shared_ptr::server_stub_::AsyncEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1033,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1037,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1038,1
    - Dst: std::shared_ptr::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1040,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1043,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ProbeUpstreamMessageLimitTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1027
    functionDepth: 2
    functionLinenumber: 1027
    functionLinenumberEnd: 1045
    functionName: test::grpc::ProbeUpstreamMessageLimit::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::done_
    - ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
    - std::shared_ptr::server_stub_::AsyncEchoStream
    - test::grpc::ProbeUpstreamMessageLimit::StartProbe
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const ProbeUpstreamMessageLimitTest &desc,\n                    Test::Stub
      *server_stub, Test::Stub *direct_stub,\n                    CompletionQueue
      *cq,\n                    std::function<void(bool, const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1052,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ProbeUpstreamMessageLimitTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1053
    functionName: test::grpc::ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - CreateEchoRequestText
    - mutable_request
    linkageType: ''
    returnType: void
    signature: "void ProbeUpstreamMessageLimit(const ProbeUpstreamMessageLimitTest
      &desc,\n                            Test::Stub *server_stub, CompletionQueue
      *cq,\n                            std::function<void(bool, const TestResult
      &)> done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1059,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1063,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1065
    functionName: test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 7
    functionsReached:
    - Tag::Tag
    - test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Read
    linkageType: ''
    returnType: void
    signature: "void StartReadStreamMessages(\n      std::shared_ptr<ProbeUpstreamMessageLimit>
      pc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Alarm>::shared_ptr<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1074,1
    - Dst: std::make_shared<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1075,1
    - Dst: gpr_time_add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1077,1
    - Dst: gpr_now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1078,1
    - Dst: gpr_time_from_millis
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1079,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::timeout_ms
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1079,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::OnTimeout
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1084,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1087,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1080,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1095,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1095,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1098,1
    - Dst: std::shared_ptr::Cancel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1105,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1067
    functionDepth: 3
    functionLinenumber: 1067
    functionLinenumberEnd: 1107
    functionName: test::grpc::ProbeUpstreamMessageLimit::StartProbe
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 8
    functionsReached:
    - std::make_shared<Alarm>
    - gpr_now
    - std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::timeout_ms
    - gpr_time_from_millis
    - std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::request
    - gpr_time_add
    - test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
    - std::shared_ptr<Alarm>::shared_ptr<Alarm>
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Write
    - test::grpc::ProbeUpstreamMessageLimit::StartProbe
    - test::grpc::ProbeUpstreamMessageLimit::OnTimeout
    - Tag::Tag
    - std::shared_ptr::Cancel
    linkageType: ''
    returnType: void
    signature: void StartProbe(std::shared_ptr<ProbeUpstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1114,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1109
    functionDepth: 2
    functionLinenumber: 1109
    functionLinenumberEnd: 1119
    functionName: test::grpc::ProbeUpstreamMessageLimit::OnTimeout
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
    - test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
    linkageType: ''
    returnType: void
    signature: void OnTimeout(std::shared_ptr<ProbeUpstreamMessageLimit> pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1122,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1123,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1124,1
    - Dst: TestResult::mutable_probe_upstream_message_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1128,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1130,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1125,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1133
    functionName: test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 8
    functionsReached:
    - TestResult::mutable_probe_upstream_message_limit
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Finish
    - Status::Status
    - std::shared_ptr<ProbeUpstreamMessageLimit>::done_
    - Tag::Tag
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::WritesDone
    linkageType: ''
    returnType: void
    signature: void StartWritesDone(std::shared_ptr<ProbeUpstreamMessageLimit> pc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TestPlans::server_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1153,1
    - Dst: test::grpc::GetStub
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1154,1
    - Dst: TestPlans::server_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1154,1
    - Dst: TestPlans::direct_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1156,1
    - Dst: test::grpc::GetStub
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1157,1
    - Dst: TestPlans::direct_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1157,1
    - Dst: test::grpc::Echo::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1162,1
    - Dst: std::unique_ptr::get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1162,1
    - Dst: get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1162,1
    - Dst: CompletionQueue::Shutdown
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1165,1
    - Dst: TestPlans::has_warmup
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1169,1
    - Dst: test::grpc::Echo::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: TestPlans::warmup
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: std::unique_ptr::get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: start_test
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1173,1
    - Dst: start_test
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1177,1
    - Dst: CompletionQueue::Next
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1183,1
    - Dst: reinterpret_cast<Tag *>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - plans
    - desc
    - result
    argTypes:
    - TestPlans
    - typename T::TestDesc
    - TestResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1149
    functionDepth: 1
    functionLinenumber: 1149
    functionLinenumberEnd: 1188
    functionName: test::grpc::RunSync
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 1
    functionsReached:
    - TestPlans::warmup
    - reinterpret_cast<Tag *>
    - std::unique_ptr::get
    - TestPlans::direct_addr
    - test::grpc::Echo::Start
    - start_test
    - TestPlans::has_warmup
    - TestPlans::server_addr
    - test::grpc::GetStub
    - get
    - CompletionQueue::Shutdown
    - CompletionQueue::Next
    linkageType: ''
    returnType: void
    signature: "void RunSync(const TestPlans &plans, const typename T::TestDesc &desc,\n
      \            TestResult *result)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TestPlans::plans
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1193,1
    - Dst: TestResults*::add_results
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1194,1
    - Dst: plan_case
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1196,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1198,1
    - Dst: echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1198,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1201,1
    - Dst: echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1201,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1204,1
    - Dst: parallel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1204,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1207,1
    - Dst: probe_call_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1207,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1210,1
    - Dst: probe_downstream_message_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1211,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1214,1
    - Dst: probe_upstream_message_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1215,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1218,1
    - Dst: echo_report
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1218,1
    - Dst: std::abort
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1222,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - plans
    - results
    argTypes:
    - TestPlans
    - TestResults*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1192
    functionDepth: 2
    functionLinenumber: 1192
    functionLinenumberEnd: 1225
    functionName: test::grpc::RunTestPlans
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 1
    functionsReached:
    - echo
    - test::grpc::RunSync
    - probe_upstream_message_limit
    - echo_stream
    - parallel
    - probe_downstream_message_limit
    - probe_call_limit
    - plan_case
    - TestPlans::plans
    - echo_report
    - TestResults*::add_results
    - std::abort
    linkageType: ''
    returnType: void
    signature: void RunTestPlans(const TestPlans &plans, TestResults *results)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::NewTypeResolverForDescriptorPool
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:64,1
    - Dst: ::google::protobuf::DescriptorPool::generated_pool
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: test::grpc::CreateTypeResolver
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - ::google::protobuf::util::NewTypeResolverForDescriptorPool
    - ::google::protobuf::DescriptorPool::generated_pool
    linkageType: ''
    returnType: TypeResolver
    signature: TypeResolver *CreateTypeResolver()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::CreateTypeResolver
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: test::grpc::GetTypeResolver
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - test::grpc::CreateTypeResolver
    linkageType: ''
    returnType: TypeResolver
    signature: TypeResolver *GetTypeResolver()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:74,1
    - Dst: Message::GetDescriptor
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: test::grpc::GetTypeUrl
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - Message::GetDescriptor
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string GetTypeUrl(const Message &message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Status::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:80,1
    - Dst: absl::OkStatus
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - proto_status
    argTypes:
    - absl::Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: test::grpc::FromProto
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - absl::Status::ok
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status FromProto(\n    const absl::Status &proto_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::NewTypeResolverForDescriptorPool
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:64,1
    - Dst: ::google::protobuf::DescriptorPool::generated_pool
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: test::grpc::CreateTypeResolver
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 5
    functionsReached:
    - ::google::protobuf::util::NewTypeResolverForDescriptorPool
    - ::google::protobuf::DescriptorPool::generated_pool
    linkageType: ''
    returnType: TypeResolver
    signature: TypeResolver *CreateTypeResolver()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::CreateTypeResolver
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: test::grpc::GetTypeResolver
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - test::grpc::CreateTypeResolver
    linkageType: ''
    returnType: TypeResolver
    signature: TypeResolver *GetTypeResolver()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:74,1
    - Dst: Message::GetDescriptor
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: test::grpc::GetTypeUrl
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - Message::GetDescriptor
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string GetTypeUrl(const Message &message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Status::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:80,1
    - Dst: absl::OkStatus
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - proto_status
    argTypes:
    - absl::Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: test::grpc::FromProto
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - absl::Status::ok
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status FromProto(\n    const absl::Status &proto_status)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonToBinaryString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:93,1
    - Dst: test::grpc::GetTypeResolver
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:94,1
    - Dst: test::grpc::GetTypeUrl
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:94,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:95,1
    - Dst: test::grpc::FromProto
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:96,1
    - Dst: Message*::ParseFromString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:98,1
    - Dst: absl::OkStatus
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:99,1
    - Dst: test::grpc::Parallel::AggregatedStatus::AggregatedStatus
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - json
    - message
    argTypes:
    - std::string
    - Message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: test::grpc::JsonToProto
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - ::google::protobuf::util::JsonToBinaryString
    - test::grpc::GetTypeUrl
    - absl::Status::ok
    - Message*::ParseFromString
    - test::grpc::FromProto
    - test::grpc::Parallel::AggregatedStatus::AggregatedStatus
    - test::grpc::GetTypeResolver
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status JsonToProto(const std::string &json,\n                                             Message
      *message)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Message::SerializeAsString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:117,1
    - Dst: std::string::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:118,1
    - Dst: std::string::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:119,1
    - Dst: ::google::protobuf::util::BinaryToJsonStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:121,1
    - Dst: test::grpc::GetTypeResolver
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:122,1
    - Dst: test::grpc::GetTypeUrl
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:122,1
    - Dst: test::grpc::FromProto
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - message
    - json
    - options
    argTypes:
    - Message
    - ::google::protobuf::io::ZeroCopyOutputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 125
    functionName: test::grpc::ProtoToJson
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - test::grpc::GetTypeUrl
    - std::string::data
    - test::grpc::FromProto
    - Message::SerializeAsString
    - test::grpc::GetTypeResolver
    - ::google::protobuf::util::BinaryToJsonStream
    - std::string::size
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status ProtoToJson(\n    const Message &message, ::google::protobuf::io::ZeroCopyOutputStream
      *json,\n    int options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InsecureChannelCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unused_desc
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 12
    functionsReached:
    - InsecureChannelCredentials
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const T &unused_desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CallConfig::use_ssl
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:138,1
    - Dst: ::grpc::SslCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:140,1
    - Dst: InsecureChannelCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - call_config
    argTypes:
    - CallConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 12
    functionsReached:
    - CallConfig::use_ssl
    - InsecureChannelCredentials
    - ::grpc::SslCredentials
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const CallConfig &call_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:147,1
    - Dst: EchoTest::call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - EchoTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 13
    functionsReached:
    - test::grpc::GetCreds
    - EchoTest::call_config
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const EchoTest &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:152,1
    - Dst: EchoStreamTest::call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - EchoStreamTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 14
    functionsReached:
    - test::grpc::GetCreds
    - EchoStreamTest::call_config
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const EchoStreamTest &desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParallelTest::subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:157,1
    - Dst: auto::plan_case
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:158,1
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:160,1
    - Dst: auto::echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:160,1
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:162,1
    - Dst: auto::echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:162,1
    - Dst: InsecureChannelCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - desc
    argTypes:
    - ParallelTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 15
    functionsReached:
    - auto::plan_case
    - ParallelTest::subtests
    - test::grpc::GetCreds
    - InsecureChannelCredentials
    - auto::echo
    - auto::echo_stream
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const ParallelTest &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChannelArguments::SetMaxReceiveMessageSize
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:173,1
    - Dst: ChannelArguments::SetMaxSendMessageSize
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:174,1
    - Dst: std::unique_ptr<Test::Stub>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:177,1
    - Dst: Test::NewStub
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - addr
    - desc
    argTypes:
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: test::grpc::GetStub
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - Test::NewStub
    - ChannelArguments::SetMaxSendMessageSize
    - std::unique_ptr<Test::Stub>
    - ChannelArguments::SetMaxReceiveMessageSize
    linkageType: ''
    returnType: std::unique_ptr<Test::Stub>
    signature: "std::unique_ptr<Test::Stub> GetStub(const std::string &addr,\n                                           const
      T &desc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CallConfig::api_key
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:181,1
    - Dst: ClientContext*::AddMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:182,1
    - Dst: CallConfig::api_key
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:182,1
    - Dst: CallConfig::auth_token
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:184,1
    - Dst: ClientContext*::AddMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:185,1
    - Dst: CallConfig::auth_token
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:185,1
    - Dst: CallConfig::metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:187,1
    - Dst: ClientContext*::AddMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:188,1
    - Dst: CallConfig::compression
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:190,1
    - Dst: ClientContext*::set_compression_algorithm
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:191,1
    - Dst: static_cast<grpc_compression_algorithm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:192,1
    - Dst: CallConfig::compression
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - call_config
    - ctx
    argTypes:
    - CallConfig
    - ClientContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: test::grpc::SetCallConfig
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - ClientContext*::set_compression_algorithm
    - ClientContext*::AddMetadata
    - CallConfig::auth_token
    - CallConfig::compression
    - CallConfig::api_key
    - CallConfig::metadata
    - static_cast<grpc_compression_algorithm>
    linkageType: ''
    returnType: void
    signature: void SetCallConfig(const CallConfig &call_config, ClientContext *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:202,1
    - Dst: first::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:202,1
    - Dst: first::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:202,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:203,1
    - Dst: second::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:203,1
    - Dst: second::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:203,1
    - Dst: T1::find
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:204,1
    - Dst: T1::end
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:204,1
    - Dst: T1::at
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:205,1
    - Dst: google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>*::Add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:208,1
    - Dst: auto*::set_key
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:209,1
    - Dst: auto*::set_expected
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:210,1
    - Dst: T1::at
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:210,1
    - Dst: auto*::set_actual
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - expected
    - actual
    - results
    argTypes:
    - T1
    - T2
    - google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 215
    functionName: test::grpc::VerifyMetadata
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - auto*::set_expected
    - first::data
    - auto*::set_key
    - first::size
    - auto*::set_actual
    - second::size
    - google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>*::Add
    - T1::end
    - second::data
    - T1::find
    - std::string
    - T1::at
    linkageType: ''
    returnType: int
    signature: "int VerifyMetadata(\n    const T1 &expected, const T2 &actual,\n    google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>
      *results)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size_dist
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:223,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:225,1
    - Dst: byte_dist
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:229,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:231,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - max_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 232
    functionName: test::grpc::RandomString
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - std::string
    - reinterpret_cast<const char *>
    - byte_dist
    - size_dist
    linkageType: ''
    returnType: std::string
    signature: std::string RandomString(int max_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoRequest*::random_payload_max_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:235,1
    - Dst: EchoRequest*::set_text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:236,1
    - Dst: test::grpc::RandomString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:236,1
    - Dst: EchoRequest*::random_payload_max_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:236,1
    - Dst: EchoRequest*::space_payload_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:238,1
    - Dst: EchoRequest*::set_text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:239,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:239,1
    - Dst: EchoRequest*::space_payload_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - EchoRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: test::grpc::CreateEchoRequestText
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - test::grpc::RandomString
    - EchoRequest*::set_text
    - EchoRequest*::space_payload_size
    - EchoRequest*::random_payload_max_size
    - std::string
    linkageType: ''
    returnType: void
    signature: void CreateEchoRequestText(EchoRequest *request)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CallStatus::details
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:244,1
    - Dst: test::grpc::JsonToProto
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:248,1
    - Dst: ::test::grpc::GrpcErrorDetail::SerializeToString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:249,1
    - Dst: std::to_string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:251,1
    - Dst: CallStatus::code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - status
    argTypes:
    - CallStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 252
    functionName: test::grpc::GetStatusAggregationKey
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - ::test::grpc::GrpcErrorDetail::SerializeToString
    - CallStatus::details
    - CallStatus::code
    - std::to_string
    - test::grpc::JsonToProto
    linkageType: ''
    returnType: std::string
    signature: std::string GetStatusAggregationKey(const CallStatus &status)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Echo::Echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:261,1
    - Dst: Test::Stub*::AsyncEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:262,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:262,1
    - Dst: std::shared_ptr::rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:263,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:266,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:267,1
    - Dst: std::shared_ptr::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:267,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:268,1
    - Dst: std::shared_ptr::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:268,1
    - Dst: TestResult::mutable_echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:270,1
    - Dst: std::shared_ptr::response_::text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:270,1
    - Dst: std::shared_ptr::desc_::expected_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:275,1
    - Dst: std::shared_ptr::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:276,1
    - Dst: std::shared_ptr::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:277,1
    - Dst: std::shared_ptr::desc_::expected_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:278,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:280,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:281,1
    - Dst: std::shared_ptr::response_::text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:281,1
    - Dst: TestResult::mutable_echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:284,1
    - Dst: VerifyMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:286,1
    - Dst: std::shared_ptr::desc_::call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:287,1
    - Dst: std::shared_ptr::response_::received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:288,1
    - Dst: VerifyMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:289,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:290,1
    - Dst: std::shared_ptr::ctx_::GetServerInitialMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:291,1
    - Dst: VerifyMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:292,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:293,1
    - Dst: std::shared_ptr::ctx_::GetServerTrailingMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:294,1
    - Dst: TestResult::mutable_echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:295,1
    - Dst: auto*::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:296,1
    - Dst: std::shared_ptr::desc_::expected_metadata_keys
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:299,1
    - Dst: std::shared_ptr::response_::received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:300,1
    - Dst: std::shared_ptr::response_::received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:301,1
    - Dst: TestResult::mutable_additional_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:302,1
    - Dst: done
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:305,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - EchoTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 307
    functionName: test::grpc::Echo::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 8
    functionsReached:
    - std::shared_ptr::response_::received_metadata
    - std::shared_ptr::ctx_::GetServerTrailingMetadata
    - std::shared_ptr::desc_::expected_metadata_keys
    - auto*::size
    - std::shared_ptr::desc_::call_config
    - TestResult::mutable_echo
    - std::shared_ptr::desc_::expected_status
    - std::shared_ptr::status_::error_message
    - TestResult::mutable_additional_metadata
    - std::shared_ptr::desc_::request
    - std::shared_ptr::response_::text
    - done
    - std::shared_ptr::ctx_::GetServerInitialMetadata
    - std::shared_ptr::status_::ok
    - VerifyMetadata
    - std::shared_ptr::rpc_::Finish
    - Test::Stub*::AsyncEcho
    - Echo::Echo
    - std::shared_ptr::status_::error_code
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const EchoTest &desc, Test::Stub *server_stub,\n                    Test::Stub
      *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetCallConfig
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:312,1
    - Dst: call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:312,1
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:313,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - desc
    - done
    argTypes:
    - EchoTest
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: test::grpc::Echo::Echo
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - call_config
    - CreateEchoRequestText
    - mutable_request
    - SetCallConfig
    linkageType: ''
    returnType: void
    signature: void Echo(const EchoTest &desc, std::function<void(bool, const TestResult
      &)> done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoReport::EchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:331,1
    - Dst: Test::Stub*::AsyncEchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:333,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:333,1
    - Dst: std::shared_ptr::rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:334,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:337,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:338,1
    - Dst: std::shared_ptr::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:338,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:339,1
    - Dst: std::shared_ptr::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:339,1
    - Dst: TestResult::mutable_echo_report
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:342,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:345,1
    - Dst: MessageDifferencer::Equals
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:346,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:346,1
    - Dst: done
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:349,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - EchoReportTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 351
    functionName: test::grpc::EchoReport::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - MessageDifferencer::Equals
    - std::shared_ptr::rpc_::Finish
    - done
    - TestResult::mutable_echo_report
    - Test::Stub*::AsyncEchoReport
    - EchoReport::EchoReport
    - std::shared_ptr::status_::ok
    - std::shared_ptr::status_::error_message
    - std::shared_ptr::status_::error_code
    - Tag::Tag
    - std::shared_ptr::desc_::request
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const EchoReportTest &desc, Test::Stub *server_stub,\n
      \                   Test::Stub *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - desc
    - done
    argTypes:
    - EchoReportTest
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: test::grpc::EchoReport::EchoReport
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EchoReport(const EchoReportTest &desc,\n             std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EchoStream::EchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:373,1
    - Dst: Test::Stub*::AsyncEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:375,1
    - Dst: test::grpc::EchoStream::StartWrite
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:377,1
    - Dst: test::grpc::EchoStream::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:378,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:380,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - EchoStreamTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 383
    functionName: test::grpc::EchoStream::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - Test::Stub*::AsyncEchoStream
    - test::grpc::EchoStream::StartRead
    - EchoStream::EchoStream
    - test::grpc::EchoStream::StartWrite
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: "void Start(const EchoStreamTest &desc, Test::Stub *server_stub,\n
      \                   Test::Stub *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EchoStreamTest::count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:392,1
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:393,1
    - Dst: SetCallConfig
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:394,1
    - Dst: call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:394,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:395,1
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - EchoStreamTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 398
    functionName: test::grpc::EchoStream::EchoStream
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - call_config
    - mutable_request
    - SetCallConfig
    - EchoStreamTest::count
    - time
    - CreateEchoRequestText
    linkageType: ''
    returnType: void
    signature: "void EchoStream(const EchoStreamTest &desc, Test::Stub *server_stub,\n
      \            CompletionQueue *cq,\n             std::function<void(bool, const
      TestResult &)> done)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<EchoStream>::desc_::request_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:409,1
    - Dst: std::shared_ptr<EchoStream>::desc_::request_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:410,1
    - Dst: std::shared_ptr<EchoStream>::desc_::expected_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:412,1
    - Dst: CallStatus::code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:413,1
    - Dst: Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: StatusCode
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: CallStatus::code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: CallStatus::details
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: std::shared_ptr<EchoStream>::rpc_::Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:418,1
    - Dst: std::shared_ptr<EchoStream>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:418,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:425,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:418,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 428
    functionName: test::grpc::EchoStream::StartWrite
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 9
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - CallStatus::details
    - std::shared_ptr<EchoStream>::desc_::expected_status
    - CallStatus::code
    - std::shared_ptr<EchoStream>::desc_::request_size
    - std::shared_ptr<EchoStream>::desc_::request
    - Status
    - std::shared_ptr<EchoStream>::rpc_::Write
    - Tag::Tag
    - StatusCode
    linkageType: ''
    returnType: void
    signature: "void StartWrite(std::shared_ptr<EchoStream> es,\n                         bool
      write_accounted_for = false)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<EchoResponse>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:431,1
    - Dst: std::shared_ptr<EchoStream>::rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:432,1
    - Dst: auto::get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:432,1
    - Dst: test::grpc::EchoStream::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:434,1
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:437,1
    - Dst: std::shared_ptr<EchoStream>::desc_::count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:439,1
    - Dst: std::shared_ptr<EchoStream>::desc_::count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:440,1
    - Dst: std::shared_ptr<EchoStream>::desc_::duration_in_sec
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:441,1
    - Dst: std::shared_ptr<EchoStream>::desc_::duration_in_sec
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:443,1
    - Dst: test::grpc::EchoStream::StartWrite
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:444,1
    - Dst: test::grpc::EchoStream::StartDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:446,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:450,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 453
    functionName: test::grpc::EchoStream::StartRead
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 10
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - std::shared_ptr<EchoStream>::desc_::count
    - std::shared_ptr<EchoStream>::desc_::duration_in_sec
    - std::make_shared<EchoResponse>
    - auto::get
    - test::grpc::EchoStream::StartRead
    - time
    - test::grpc::EchoStream::StartWrite
    - Tag::Tag
    - std::shared_ptr<EchoStream>::rpc_::Read
    - test::grpc::EchoStream::StartDone
    linkageType: ''
    returnType: void
    signature: void StartRead(std::shared_ptr<EchoStream> es)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<EchoStream>::rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:460,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:460,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: test::grpc::EchoStream::StartDone
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 5
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - Tag::Tag
    - std::shared_ptr<EchoStream>::rpc_::WritesDone
    linkageType: ''
    returnType: void
    signature: void StartDone(std::shared_ptr<EchoStream> es)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<EchoStream>::rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:468,1
    - Dst: std::shared_ptr<EchoStream>::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:471,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:472,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:472,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:473,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:473,1
    - Dst: TestResult::mutable_echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:476,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:478,1
    - Dst: std::shared_ptr<EchoStream>::status_expected_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:478,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:482,1
    - Dst: std::shared_ptr<EchoStream>::status_expected_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:483,1
    - Dst: std::shared_ptr<EchoStream>::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:484,1
    - Dst: std::shared_ptr<EchoStream>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:488,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 490
    functionName: test::grpc::EchoStream::StartFinish
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 20
    functionsReached:
    - TestResult::mutable_echo_stream
    - std::shared_ptr<EchoStream>::status_expected_::error_code
    - std::shared_ptr<EchoStream>::status_::error_message
    - std::shared_ptr<EchoStream>::done_
    - std::shared_ptr<EchoStream>::rpc_::Finish
    - std::shared_ptr<EchoStream>::status_::ok
    - std::shared_ptr<EchoStream>::status_expected_::error_message
    - std::shared_ptr<EchoStream>::status_::error_code
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: void StartFinish(std::shared_ptr<EchoStream> es)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Parallel::Parallel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:517,1
    - Dst: test::grpc::Parallel::StartTests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ParallelTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: test::grpc::Parallel::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - Parallel::Parallel
    - test::grpc::Parallel::StartTests
    linkageType: ''
    returnType: void
    signature: "void Start(const ParallelTest &desc, Test::Stub *server_stub,\n                    Test::Stub
      *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::Parallel::GetWeightSum
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:529,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:530,1
    - Dst: ParallelTest::subtests_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ParallelTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 531
    functionName: test::grpc::Parallel::Parallel
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - test::grpc::Parallel::GetWeightSum
    - ParallelTest::subtests_size
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: "void Parallel(const ParallelTest &desc, Test::Stub *server_stub,\n
      \          CompletionQueue *cq,\n           std::function<void(bool, const TestResult
      &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParallelTest::subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:535,1
    - Dst: weight
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - desc
    argTypes:
    - ParallelTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 539
    functionName: test::grpc::Parallel::GetWeightSum
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 5
    functionsReached:
    - ParallelTest::subtests
    - weight
    linkageType: ''
    returnType: int
    signature: int GetWeightSum(const ParallelTest &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::Parallel::StartTestsLocked
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::shared_ptr<Parallel>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 3
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: test::grpc::Parallel::StartTests
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 5
    functionsReached:
    - test::grpc::Parallel::StartTestsLocked
    linkageType: ''
    returnType: void
    signature: void StartTests(std::shared_ptr<Parallel> p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Parallel>::desc_::parallel_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:547,1
    - Dst: std::shared_ptr<Parallel>::desc_::test_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:548,1
    - Dst: std::shared_ptr<Parallel>::NextSubtestType
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:555,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:557,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:561,1
    - Dst: SubtestStats::AddFailure
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:570,1
    - Dst: status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:570,1
    - Dst: SubtestStats::latencies::push_front
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:572,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:573,1
    - Dst: test::grpc::Parallel::StartTestsLocked
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:575,1
    - Dst: std::shared_ptr<Parallel>::desc_::test_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:576,1
    - Dst: std::shared_ptr<Parallel>::CalculateStats
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:577,1
    - Dst: std::shared_ptr<Parallel>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:578,1
    - Dst: std::shared_ptr<Parallel>::desc_::subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:582,1
    - Dst: auto::plan_case
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:583,1
    - Dst: test::grpc::Echo::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:585,1
    - Dst: auto::echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:585,1
    - Dst: test::grpc::EchoStream::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:589,1
    - Dst: auto::echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:589,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::shared_ptr<Parallel>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 546
    functionDepth: 2
    functionLinenumber: 546
    functionLinenumberEnd: 597
    functionName: test::grpc::Parallel::StartTestsLocked
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 10
    functionsReached:
    - SubtestStats::latencies::push_front
    - std::shared_ptr<Parallel>::CalculateStats
    - auto::plan_case
    - SubtestStats::AddFailure
    - std::shared_ptr<Parallel>::desc_::parallel_limit
    - std::shared_ptr<Parallel>::desc_::subtests
    - status
    - test::grpc::Parallel::StartTestsLocked
    - test::grpc::Echo::Start
    - std::shared_ptr<Parallel>::done_
    - auto::echo
    - test::grpc::EchoStream::Start
    - std::chrono::duration_cast<std::chrono::microseconds>
    - auto::echo_stream
    - std::shared_ptr<Parallel>::NextSubtestType
    - std::shared_ptr<Parallel>::desc_::test_count
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: void StartTestsLocked(std::shared_ptr<Parallel> p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:609,1
    - Dst: weight
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:610,1
    - Dst: weight
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 617
    functionName: test::grpc::Parallel::NextSubtestType
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - subtests
    - weight
    linkageType: ''
    returnType: int
    signature: int NextSubtestType()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mutable_parallel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:621,1
    - Dst: auto*::set_total_time_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:622,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:623,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:624,1
    - Dst: auto*::add_stats
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:629,1
    - Dst: ParallelSubtestStats*::set_succeeded_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:630,1
    - Dst: ParallelSubtestStats*::set_failed_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:631,1
    - Dst: count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:637,1
    - Dst: count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:643,1
    - Dst: std::sqrt
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:647,1
    - Dst: ParallelSubtestStats*::set_mean_latency_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:649,1
    - Dst: ParallelSubtestStats*::set_stddev_latency_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:650,1
    - Dst: second::Fill
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:653,1
    - Dst: ParallelSubtestStats*::add_failures
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:653,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:657,1
    - Dst: test_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:657,1
    - Dst: allowed_failure_rate
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:657,1
    - Dst: mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:658,1
    - Dst: mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 664
    functionName: test::grpc::Parallel::CalculateStats
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - second::Fill
    - mutable_parallel
    - std::sqrt
    - ParallelSubtestStats*::add_failures
    - ParallelSubtestStats*::set_failed_count
    - ParallelSubtestStats*::set_stddev_latency_micros
    - ParallelSubtestStats*::set_succeeded_count
    - count
    - static_cast<int>
    - auto*::add_stats
    - test_count
    - mutable_status
    - std::chrono::duration_cast<std::chrono::microseconds>
    - ParallelSubtestStats*::set_mean_latency_micros
    - allowed_failure_rate
    - auto*::set_total_time_micros
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: void CalculateStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - CallStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 670
    functionName: test::grpc::Parallel::AggregatedStatus::AggregatedStatus
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 3
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void AggregatedStatus(const CallStatus &status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 675
    functionName: test::grpc::Parallel::AggregatedStatus::Inc
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void Inc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AggregatedCallStatus*::set_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:678,1
    - Dst: AggregatedCallStatus*::set_start_time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:679,1
    - Dst: ctime
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:679,1
    - Dst: AggregatedCallStatus*::set_end_time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:680,1
    - Dst: ctime
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:680,1
    - Dst: AggregatedCallStatus*::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - call_status
    argTypes:
    - AggregatedCallStatus*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 682
    functionName: test::grpc::Parallel::AggregatedStatus::Fill
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - AggregatedCallStatus*::mutable_status
    - AggregatedCallStatus*::set_count
    - ctime
    - AggregatedCallStatus*::set_end_time
    - AggregatedCallStatus*::set_start_time
    linkageType: ''
    returnType: void
    signature: void Fill(AggregatedCallStatus *call_status) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetStatusAggregationKey
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:698,1
    - Dst: find
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:699,1
    - Dst: end
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:700,1
    - Dst: emplace
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:701,1
    - Dst: std::map<std::string, AggregatedStatus>::iterator::second::Inc
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - status
    argTypes:
    - CallStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 705
    functionName: test::grpc::Parallel::AddFailure
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::map<std::string, AggregatedStatus>::iterator::second::Inc
    - emplace
    - GetStatusAggregationKey
    - find
    - end
    linkageType: ''
    returnType: void
    signature: void AddFailure(const CallStatus &status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProbeCallLimit::ProbeCallLimit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:731,1
    - Dst: Test::Stub*::AsyncCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:733,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:736,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:737,1
    - Dst: std::shared_ptr::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:739,1
    - Dst: test::grpc::ProbeCallLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:742,1
    - Dst: test::grpc::ProbeCallLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:743,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ProbeCallLimitTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 727
    functionDepth: 2
    functionLinenumber: 727
    functionLinenumberEnd: 745
    functionName: test::grpc::ProbeCallLimit::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::done_
    - ProbeCallLimit::ProbeCallLimit
    - Test::Stub*::AsyncCork
    - test::grpc::ProbeCallLimit::StartProbe
    - test::grpc::ProbeCallLimit::StartReadCorkState
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const ProbeCallLimitTest &desc, Test::Stub *server_stub,\n
      \                   Test::Stub *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:752,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ProbeCallLimitTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 753
    functionName: test::grpc::ProbeCallLimit::ProbeCallLimit
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - CreateEchoRequestText
    - mutable_request
    linkageType: ''
    returnType: void
    signature: "void ProbeCallLimit(const ProbeCallLimitTest &desc, Test::Stub *server_stub,\n
      \                CompletionQueue *cq,\n                 std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:756,1
    - Dst: test::grpc::ProbeCallLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:766,1
    - Dst: std::shared_ptr<ProbeCallLimit>::alarm_::Cancel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:773,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeCallLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 776
    functionName: test::grpc::ProbeCallLimit::StartReadCorkState
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 10
    functionsReached:
    - test::grpc::ProbeCallLimit::StartReadCorkState
    - std::shared_ptr<ProbeCallLimit>::cork_rpc_::Read
    - Tag::Tag
    - std::shared_ptr<ProbeCallLimit>::alarm_::Cancel
    linkageType: ''
    returnType: void
    signature: void StartReadCorkState(std::shared_ptr<ProbeCallLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeCallLimit>::alarm_::reset
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:780,1
    - Dst: gpr_time_add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:782,1
    - Dst: gpr_now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:783,1
    - Dst: gpr_time_from_millis
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:784,1
    - Dst: std::shared_ptr<ProbeCallLimit>::desc_::timeout_ms
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:784,1
    - Dst: std::shared_ptr<ProbeCallLimit>::alarm_::reset
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:789,1
    - Dst: test::grpc::ProbeCallLimit::OnTimeout
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:790,1
    - Dst: test::grpc::ProbeCallLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:795,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:785,1
    - Dst: Alarm::Alarm
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:780,1
    - Dst: EchoResponse::EchoResponse
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:800,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:801,1
    - Dst: ClientContext::ClientContext
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:802,1
    - Dst: std::shared_ptr<ProbeCallLimit>::server_stub_::AsyncEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:804,1
    - Dst: std::shared_ptr<ProbeCallLimit>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:804,1
    - Dst: ClientAsyncResponseReader*::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:808,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeCallLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 818
    functionName: test::grpc::ProbeCallLimit::StartProbe
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 10
    functionsReached:
    - std::shared_ptr<ProbeCallLimit>::desc_::request
    - ClientAsyncResponseReader*::Finish
    - gpr_now
    - Alarm::Alarm
    - gpr_time_from_millis
    - std::shared_ptr<ProbeCallLimit>::alarm_::reset
    - std::shared_ptr<ProbeCallLimit>::server_stub_::AsyncEcho
    - test::grpc::ProbeCallLimit::OnTimeout
    - Status::Status
    - gpr_time_add
    - test::grpc::ProbeCallLimit::StartProbe
    - ClientContext::ClientContext
    - Tag::Tag
    - EchoResponse::EchoResponse
    - std::shared_ptr<ProbeCallLimit>::desc_::timeout_ms
    linkageType: ''
    returnType: void
    signature: void StartProbe(std::shared_ptr<ProbeCallLimit> pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_state_::current_corked_calls
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:823,1
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:825,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:826,1
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:827,1
    - Dst: TestResult::mutable_probe_call_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:831,1
    - Dst: std::shared_ptr<ProbeCallLimit>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:832,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:828,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeCallLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 835
    functionName: test::grpc::ProbeCallLimit::OnTimeout
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 5
    functionsReached:
    - std::shared_ptr<ProbeCallLimit>::cork_rpc_::WritesDone
    - TestResult::mutable_probe_call_limit
    - Status::Status
    - std::shared_ptr<ProbeCallLimit>::cork_rpc_::Finish
    - std::shared_ptr<ProbeCallLimit>::cork_state_::current_corked_calls
    - std::shared_ptr<ProbeCallLimit>::done_
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: void OnTimeout(std::shared_ptr<ProbeCallLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:864,1
    - Dst: Test::Stub*::AsyncCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:866,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:869,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:870,1
    - Dst: std::shared_ptr::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:872,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:875,1
    - Dst: std::shared_ptr::server_stub_::AsyncEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:876,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:878,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:879,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:877,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ProbeDownstreamMessageLimitTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 859
    functionDepth: 2
    functionLinenumber: 859
    functionLinenumberEnd: 882
    functionName: test::grpc::ProbeDownstreamMessageLimit::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::done_
    - test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
    - std::shared_ptr::server_stub_::AsyncEchoStream
    - Test::Stub*::AsyncCork
    - test::grpc::ProbeDownstreamMessageLimit::StartProbe
    - ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
    - test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const ProbeDownstreamMessageLimitTest &desc,\n                    Test::Stub
      *server_stub, Test::Stub *direct_stub,\n                    CompletionQueue
      *cq,\n                    std::function<void(bool, const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:889,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ProbeDownstreamMessageLimitTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 890
    functionName: test::grpc::ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - CreateEchoRequestText
    - mutable_request
    linkageType: ''
    returnType: void
    signature: "void ProbeDownstreamMessageLimit(\n      const ProbeDownstreamMessageLimitTest
      &desc, Test::Stub *server_stub,\n      CompletionQueue *cq, std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:894,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:898,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 900
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 10
    functionsReached:
    - test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
    - std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Read
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: "void StartReadCorkState(\n      std::shared_ptr<ProbeDownstreamMessageLimit>
      pc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:904,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:908,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 910
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 10
    functionsReached:
    - Tag::Tag
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Read
    - test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
    linkageType: ''
    returnType: void
    signature: "void StartReadStreamMessages(\n      std::shared_ptr<ProbeDownstreamMessageLimit>
      pc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Alarm>::shared_ptr<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:919,1
    - Dst: std::make_shared<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:920,1
    - Dst: gpr_time_add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:922,1
    - Dst: gpr_now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:923,1
    - Dst: gpr_time_from_millis
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:924,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::timeout_ms
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:924,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::OnTimeout
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:929,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:932,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:925,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:940,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:940,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:943,1
    - Dst: std::shared_ptr::Cancel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:952,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 954
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartProbe
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 10
    functionsReached:
    - std::make_shared<Alarm>
    - gpr_now
    - gpr_time_from_millis
    - std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::timeout_ms
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Write
    - test::grpc::ProbeDownstreamMessageLimit::OnTimeout
    - gpr_time_add
    - std::shared_ptr<Alarm>::shared_ptr<Alarm>
    - test::grpc::ProbeDownstreamMessageLimit::StartProbe
    - std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::request
    - Tag::Tag
    - test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
    - std::shared_ptr::Cancel
    linkageType: ''
    returnType: void
    signature: void StartProbe(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:960,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:961,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:962,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:965,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:962,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:960,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 956
    functionDepth: 2
    functionLinenumber: 956
    functionLinenumberEnd: 972
    functionName: test::grpc::ProbeDownstreamMessageLimit::OnTimeout
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 5
    functionsReached:
    - std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::WritesDone
    - std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Finish
    - test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
    - Status::Status
    - Tag::Tag
    - test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
    linkageType: ''
    returnType: void
    signature: void OnTimeout(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:975,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:976,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:977,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:980,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:977,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 983
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 10
    functionsReached:
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Finish
    - test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
    - Status::Status
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::WritesDone
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: void StartWritesDone(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TestResult::mutable_probe_downstream_message_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:991,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 994
    functionName: test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 10
    functionsReached:
    - TestResult::mutable_probe_downstream_message_limit
    - std::shared_ptr<ProbeDownstreamMessageLimit>::done_
    linkageType: ''
    returnType: void
    signature: void TryIssueReport(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1032,1
    - Dst: std::shared_ptr::server_stub_::AsyncEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1033,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1037,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1038,1
    - Dst: std::shared_ptr::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1040,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1043,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ProbeUpstreamMessageLimitTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1027
    functionDepth: 2
    functionLinenumber: 1027
    functionLinenumberEnd: 1045
    functionName: test::grpc::ProbeUpstreamMessageLimit::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::done_
    - ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
    - std::shared_ptr::server_stub_::AsyncEchoStream
    - test::grpc::ProbeUpstreamMessageLimit::StartProbe
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const ProbeUpstreamMessageLimitTest &desc,\n                    Test::Stub
      *server_stub, Test::Stub *direct_stub,\n                    CompletionQueue
      *cq,\n                    std::function<void(bool, const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1052,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ProbeUpstreamMessageLimitTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1053
    functionName: test::grpc::ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - CreateEchoRequestText
    - mutable_request
    linkageType: ''
    returnType: void
    signature: "void ProbeUpstreamMessageLimit(const ProbeUpstreamMessageLimitTest
      &desc,\n                            Test::Stub *server_stub, CompletionQueue
      *cq,\n                            std::function<void(bool, const TestResult
      &)> done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1059,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1063,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1065
    functionName: test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 9
    functionsReached:
    - Tag::Tag
    - test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Read
    linkageType: ''
    returnType: void
    signature: "void StartReadStreamMessages(\n      std::shared_ptr<ProbeUpstreamMessageLimit>
      pc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Alarm>::shared_ptr<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1074,1
    - Dst: std::make_shared<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1075,1
    - Dst: gpr_time_add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1077,1
    - Dst: gpr_now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1078,1
    - Dst: gpr_time_from_millis
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1079,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::timeout_ms
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1079,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::OnTimeout
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1084,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1087,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1080,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1095,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1095,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1098,1
    - Dst: std::shared_ptr::Cancel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1105,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1067
    functionDepth: 3
    functionLinenumber: 1067
    functionLinenumberEnd: 1107
    functionName: test::grpc::ProbeUpstreamMessageLimit::StartProbe
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 10
    functionsReached:
    - std::make_shared<Alarm>
    - gpr_now
    - std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::timeout_ms
    - gpr_time_from_millis
    - std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::request
    - gpr_time_add
    - test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
    - std::shared_ptr<Alarm>::shared_ptr<Alarm>
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Write
    - test::grpc::ProbeUpstreamMessageLimit::StartProbe
    - test::grpc::ProbeUpstreamMessageLimit::OnTimeout
    - Tag::Tag
    - std::shared_ptr::Cancel
    linkageType: ''
    returnType: void
    signature: void StartProbe(std::shared_ptr<ProbeUpstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1114,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1109
    functionDepth: 2
    functionLinenumber: 1109
    functionLinenumberEnd: 1119
    functionName: test::grpc::ProbeUpstreamMessageLimit::OnTimeout
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 5
    functionsReached:
    - test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
    - test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
    linkageType: ''
    returnType: void
    signature: void OnTimeout(std::shared_ptr<ProbeUpstreamMessageLimit> pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1122,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1123,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1124,1
    - Dst: TestResult::mutable_probe_upstream_message_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1128,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1130,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1125,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1133
    functionName: test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 10
    functionsReached:
    - TestResult::mutable_probe_upstream_message_limit
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Finish
    - Status::Status
    - std::shared_ptr<ProbeUpstreamMessageLimit>::done_
    - Tag::Tag
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::WritesDone
    linkageType: ''
    returnType: void
    signature: void StartWritesDone(std::shared_ptr<ProbeUpstreamMessageLimit> pc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TestPlans::server_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1153,1
    - Dst: test::grpc::GetStub
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1154,1
    - Dst: TestPlans::server_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1154,1
    - Dst: TestPlans::direct_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1156,1
    - Dst: test::grpc::GetStub
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1157,1
    - Dst: TestPlans::direct_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1157,1
    - Dst: test::grpc::Echo::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1162,1
    - Dst: std::unique_ptr::get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1162,1
    - Dst: get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1162,1
    - Dst: CompletionQueue::Shutdown
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1165,1
    - Dst: TestPlans::has_warmup
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1169,1
    - Dst: test::grpc::Echo::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: TestPlans::warmup
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: std::unique_ptr::get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: start_test
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1173,1
    - Dst: start_test
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1177,1
    - Dst: CompletionQueue::Next
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1183,1
    - Dst: reinterpret_cast<Tag *>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - plans
    - desc
    - result
    argTypes:
    - TestPlans
    - typename T::TestDesc
    - TestResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1149
    functionDepth: 1
    functionLinenumber: 1149
    functionLinenumberEnd: 1188
    functionName: test::grpc::RunSync
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - TestPlans::warmup
    - reinterpret_cast<Tag *>
    - std::unique_ptr::get
    - TestPlans::direct_addr
    - test::grpc::Echo::Start
    - start_test
    - TestPlans::has_warmup
    - TestPlans::server_addr
    - test::grpc::GetStub
    - get
    - CompletionQueue::Shutdown
    - CompletionQueue::Next
    linkageType: ''
    returnType: void
    signature: "void RunSync(const TestPlans &plans, const typename T::TestDesc &desc,\n
      \            TestResult *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InsecureChannelCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unused_desc
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 15
    functionsReached:
    - InsecureChannelCredentials
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const T &unused_desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CallConfig::use_ssl
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:138,1
    - Dst: ::grpc::SslCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:140,1
    - Dst: InsecureChannelCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - call_config
    argTypes:
    - CallConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 15
    functionsReached:
    - CallConfig::use_ssl
    - InsecureChannelCredentials
    - ::grpc::SslCredentials
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const CallConfig &call_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:147,1
    - Dst: EchoTest::call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - EchoTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 16
    functionsReached:
    - test::grpc::GetCreds
    - EchoTest::call_config
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const EchoTest &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:152,1
    - Dst: EchoStreamTest::call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - EchoStreamTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 17
    functionsReached:
    - test::grpc::GetCreds
    - EchoStreamTest::call_config
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const EchoStreamTest &desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParallelTest::subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:157,1
    - Dst: auto::plan_case
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:158,1
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:160,1
    - Dst: auto::echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:160,1
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:162,1
    - Dst: auto::echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:162,1
    - Dst: InsecureChannelCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - desc
    argTypes:
    - ParallelTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 18
    functionsReached:
    - auto::plan_case
    - ParallelTest::subtests
    - test::grpc::GetCreds
    - InsecureChannelCredentials
    - auto::echo
    - auto::echo_stream
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const ParallelTest &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChannelArguments::SetMaxReceiveMessageSize
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:173,1
    - Dst: ChannelArguments::SetMaxSendMessageSize
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:174,1
    - Dst: std::unique_ptr<Test::Stub>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:177,1
    - Dst: Test::NewStub
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - addr
    - desc
    argTypes:
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: test::grpc::GetStub
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 5
    functionsReached:
    - Test::NewStub
    - ChannelArguments::SetMaxSendMessageSize
    - std::unique_ptr<Test::Stub>
    - ChannelArguments::SetMaxReceiveMessageSize
    linkageType: ''
    returnType: std::unique_ptr<Test::Stub>
    signature: "std::unique_ptr<Test::Stub> GetStub(const std::string &addr,\n                                           const
      T &desc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CallConfig::api_key
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:181,1
    - Dst: ClientContext*::AddMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:182,1
    - Dst: CallConfig::api_key
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:182,1
    - Dst: CallConfig::auth_token
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:184,1
    - Dst: ClientContext*::AddMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:185,1
    - Dst: CallConfig::auth_token
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:185,1
    - Dst: CallConfig::metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:187,1
    - Dst: ClientContext*::AddMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:188,1
    - Dst: CallConfig::compression
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:190,1
    - Dst: ClientContext*::set_compression_algorithm
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:191,1
    - Dst: static_cast<grpc_compression_algorithm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:192,1
    - Dst: CallConfig::compression
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - call_config
    - ctx
    argTypes:
    - CallConfig
    - ClientContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: test::grpc::SetCallConfig
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - ClientContext*::set_compression_algorithm
    - ClientContext*::AddMetadata
    - CallConfig::auth_token
    - CallConfig::compression
    - CallConfig::api_key
    - CallConfig::metadata
    - static_cast<grpc_compression_algorithm>
    linkageType: ''
    returnType: void
    signature: void SetCallConfig(const CallConfig &call_config, ClientContext *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:202,1
    - Dst: first::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:202,1
    - Dst: first::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:202,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:203,1
    - Dst: second::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:203,1
    - Dst: second::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:203,1
    - Dst: T1::find
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:204,1
    - Dst: T1::end
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:204,1
    - Dst: T1::at
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:205,1
    - Dst: google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>*::Add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:208,1
    - Dst: auto*::set_key
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:209,1
    - Dst: auto*::set_expected
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:210,1
    - Dst: T1::at
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:210,1
    - Dst: auto*::set_actual
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - expected
    - actual
    - results
    argTypes:
    - T1
    - T2
    - google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 215
    functionName: test::grpc::VerifyMetadata
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - auto*::set_expected
    - first::data
    - auto*::set_key
    - first::size
    - auto*::set_actual
    - second::size
    - google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>*::Add
    - T1::end
    - second::data
    - T1::find
    - std::string
    - T1::at
    linkageType: ''
    returnType: int
    signature: "int VerifyMetadata(\n    const T1 &expected, const T2 &actual,\n    google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>
      *results)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size_dist
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:223,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:225,1
    - Dst: byte_dist
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:229,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:231,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - max_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 232
    functionName: test::grpc::RandomString
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 5
    functionsReached:
    - std::string
    - reinterpret_cast<const char *>
    - byte_dist
    - size_dist
    linkageType: ''
    returnType: std::string
    signature: std::string RandomString(int max_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoRequest*::random_payload_max_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:235,1
    - Dst: EchoRequest*::set_text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:236,1
    - Dst: test::grpc::RandomString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:236,1
    - Dst: EchoRequest*::random_payload_max_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:236,1
    - Dst: EchoRequest*::space_payload_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:238,1
    - Dst: EchoRequest*::set_text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:239,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:239,1
    - Dst: EchoRequest*::space_payload_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - EchoRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: test::grpc::CreateEchoRequestText
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - test::grpc::RandomString
    - EchoRequest*::set_text
    - EchoRequest*::space_payload_size
    - EchoRequest*::random_payload_max_size
    - std::string
    linkageType: ''
    returnType: void
    signature: void CreateEchoRequestText(EchoRequest *request)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CallStatus::details
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:244,1
    - Dst: test::grpc::JsonToProto
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:248,1
    - Dst: ::test::grpc::GrpcErrorDetail::SerializeToString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:249,1
    - Dst: std::to_string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:251,1
    - Dst: CallStatus::code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - status
    argTypes:
    - CallStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 252
    functionName: test::grpc::GetStatusAggregationKey
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - ::test::grpc::GrpcErrorDetail::SerializeToString
    - CallStatus::details
    - CallStatus::code
    - std::to_string
    - test::grpc::JsonToProto
    linkageType: ''
    returnType: std::string
    signature: std::string GetStatusAggregationKey(const CallStatus &status)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Echo::Echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:261,1
    - Dst: Test::Stub*::AsyncEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:262,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:262,1
    - Dst: std::shared_ptr::rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:263,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:266,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:267,1
    - Dst: std::shared_ptr::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:267,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:268,1
    - Dst: std::shared_ptr::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:268,1
    - Dst: TestResult::mutable_echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:270,1
    - Dst: std::shared_ptr::response_::text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:270,1
    - Dst: std::shared_ptr::desc_::expected_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:275,1
    - Dst: std::shared_ptr::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:276,1
    - Dst: std::shared_ptr::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:277,1
    - Dst: std::shared_ptr::desc_::expected_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:278,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:280,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:281,1
    - Dst: std::shared_ptr::response_::text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:281,1
    - Dst: TestResult::mutable_echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:284,1
    - Dst: VerifyMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:286,1
    - Dst: std::shared_ptr::desc_::call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:287,1
    - Dst: std::shared_ptr::response_::received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:288,1
    - Dst: VerifyMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:289,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:290,1
    - Dst: std::shared_ptr::ctx_::GetServerInitialMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:291,1
    - Dst: VerifyMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:292,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:293,1
    - Dst: std::shared_ptr::ctx_::GetServerTrailingMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:294,1
    - Dst: TestResult::mutable_echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:295,1
    - Dst: auto*::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:296,1
    - Dst: std::shared_ptr::desc_::expected_metadata_keys
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:299,1
    - Dst: std::shared_ptr::response_::received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:300,1
    - Dst: std::shared_ptr::response_::received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:301,1
    - Dst: TestResult::mutable_additional_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:302,1
    - Dst: done
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:305,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - EchoTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 307
    functionName: test::grpc::Echo::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 10
    functionsReached:
    - std::shared_ptr::response_::received_metadata
    - std::shared_ptr::ctx_::GetServerTrailingMetadata
    - std::shared_ptr::desc_::expected_metadata_keys
    - auto*::size
    - std::shared_ptr::desc_::call_config
    - TestResult::mutable_echo
    - std::shared_ptr::desc_::expected_status
    - std::shared_ptr::status_::error_message
    - TestResult::mutable_additional_metadata
    - std::shared_ptr::desc_::request
    - std::shared_ptr::response_::text
    - done
    - std::shared_ptr::ctx_::GetServerInitialMetadata
    - std::shared_ptr::status_::ok
    - VerifyMetadata
    - std::shared_ptr::rpc_::Finish
    - Test::Stub*::AsyncEcho
    - Echo::Echo
    - std::shared_ptr::status_::error_code
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const EchoTest &desc, Test::Stub *server_stub,\n                    Test::Stub
      *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetCallConfig
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:312,1
    - Dst: call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:312,1
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:313,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - desc
    - done
    argTypes:
    - EchoTest
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: test::grpc::Echo::Echo
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - call_config
    - CreateEchoRequestText
    - mutable_request
    - SetCallConfig
    linkageType: ''
    returnType: void
    signature: void Echo(const EchoTest &desc, std::function<void(bool, const TestResult
      &)> done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoReport::EchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:331,1
    - Dst: Test::Stub*::AsyncEchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:333,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:333,1
    - Dst: std::shared_ptr::rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:334,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:337,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:338,1
    - Dst: std::shared_ptr::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:338,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:339,1
    - Dst: std::shared_ptr::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:339,1
    - Dst: TestResult::mutable_echo_report
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:342,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:345,1
    - Dst: MessageDifferencer::Equals
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:346,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:346,1
    - Dst: done
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:349,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - EchoReportTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 351
    functionName: test::grpc::EchoReport::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - MessageDifferencer::Equals
    - std::shared_ptr::rpc_::Finish
    - done
    - TestResult::mutable_echo_report
    - Test::Stub*::AsyncEchoReport
    - EchoReport::EchoReport
    - std::shared_ptr::status_::ok
    - std::shared_ptr::status_::error_message
    - std::shared_ptr::status_::error_code
    - Tag::Tag
    - std::shared_ptr::desc_::request
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const EchoReportTest &desc, Test::Stub *server_stub,\n
      \                   Test::Stub *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - desc
    - done
    argTypes:
    - EchoReportTest
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: test::grpc::EchoReport::EchoReport
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EchoReport(const EchoReportTest &desc,\n             std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EchoStream::EchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:373,1
    - Dst: Test::Stub*::AsyncEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:375,1
    - Dst: test::grpc::EchoStream::StartWrite
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:377,1
    - Dst: test::grpc::EchoStream::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:378,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:380,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - EchoStreamTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 383
    functionName: test::grpc::EchoStream::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 5
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - Test::Stub*::AsyncEchoStream
    - test::grpc::EchoStream::StartRead
    - EchoStream::EchoStream
    - test::grpc::EchoStream::StartWrite
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: "void Start(const EchoStreamTest &desc, Test::Stub *server_stub,\n
      \                   Test::Stub *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EchoStreamTest::count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:392,1
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:393,1
    - Dst: SetCallConfig
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:394,1
    - Dst: call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:394,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:395,1
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - EchoStreamTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 398
    functionName: test::grpc::EchoStream::EchoStream
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - call_config
    - mutable_request
    - SetCallConfig
    - EchoStreamTest::count
    - time
    - CreateEchoRequestText
    linkageType: ''
    returnType: void
    signature: "void EchoStream(const EchoStreamTest &desc, Test::Stub *server_stub,\n
      \            CompletionQueue *cq,\n             std::function<void(bool, const
      TestResult &)> done)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<EchoStream>::desc_::request_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:409,1
    - Dst: std::shared_ptr<EchoStream>::desc_::request_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:410,1
    - Dst: std::shared_ptr<EchoStream>::desc_::expected_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:412,1
    - Dst: CallStatus::code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:413,1
    - Dst: Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: StatusCode
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: CallStatus::code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: CallStatus::details
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: std::shared_ptr<EchoStream>::rpc_::Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:418,1
    - Dst: std::shared_ptr<EchoStream>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:418,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:425,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:418,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 428
    functionName: test::grpc::EchoStream::StartWrite
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 11
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - CallStatus::details
    - std::shared_ptr<EchoStream>::desc_::expected_status
    - CallStatus::code
    - std::shared_ptr<EchoStream>::desc_::request_size
    - std::shared_ptr<EchoStream>::desc_::request
    - Status
    - std::shared_ptr<EchoStream>::rpc_::Write
    - Tag::Tag
    - StatusCode
    linkageType: ''
    returnType: void
    signature: "void StartWrite(std::shared_ptr<EchoStream> es,\n                         bool
      write_accounted_for = false)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<EchoResponse>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:431,1
    - Dst: std::shared_ptr<EchoStream>::rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:432,1
    - Dst: auto::get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:432,1
    - Dst: test::grpc::EchoStream::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:434,1
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:437,1
    - Dst: std::shared_ptr<EchoStream>::desc_::count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:439,1
    - Dst: std::shared_ptr<EchoStream>::desc_::count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:440,1
    - Dst: std::shared_ptr<EchoStream>::desc_::duration_in_sec
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:441,1
    - Dst: std::shared_ptr<EchoStream>::desc_::duration_in_sec
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:443,1
    - Dst: test::grpc::EchoStream::StartWrite
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:444,1
    - Dst: test::grpc::EchoStream::StartDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:446,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:450,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 453
    functionName: test::grpc::EchoStream::StartRead
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 12
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - std::shared_ptr<EchoStream>::desc_::count
    - std::shared_ptr<EchoStream>::desc_::duration_in_sec
    - std::make_shared<EchoResponse>
    - auto::get
    - test::grpc::EchoStream::StartRead
    - time
    - test::grpc::EchoStream::StartWrite
    - Tag::Tag
    - std::shared_ptr<EchoStream>::rpc_::Read
    - test::grpc::EchoStream::StartDone
    linkageType: ''
    returnType: void
    signature: void StartRead(std::shared_ptr<EchoStream> es)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<EchoStream>::rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:460,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:460,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: test::grpc::EchoStream::StartDone
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - Tag::Tag
    - std::shared_ptr<EchoStream>::rpc_::WritesDone
    linkageType: ''
    returnType: void
    signature: void StartDone(std::shared_ptr<EchoStream> es)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<EchoStream>::rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:468,1
    - Dst: std::shared_ptr<EchoStream>::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:471,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:472,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:472,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:473,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:473,1
    - Dst: TestResult::mutable_echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:476,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:478,1
    - Dst: std::shared_ptr<EchoStream>::status_expected_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:478,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:482,1
    - Dst: std::shared_ptr<EchoStream>::status_expected_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:483,1
    - Dst: std::shared_ptr<EchoStream>::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:484,1
    - Dst: std::shared_ptr<EchoStream>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:488,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 490
    functionName: test::grpc::EchoStream::StartFinish
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 24
    functionsReached:
    - TestResult::mutable_echo_stream
    - std::shared_ptr<EchoStream>::status_expected_::error_code
    - std::shared_ptr<EchoStream>::status_::error_message
    - std::shared_ptr<EchoStream>::done_
    - std::shared_ptr<EchoStream>::rpc_::Finish
    - std::shared_ptr<EchoStream>::status_::ok
    - std::shared_ptr<EchoStream>::status_expected_::error_message
    - std::shared_ptr<EchoStream>::status_::error_code
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: void StartFinish(std::shared_ptr<EchoStream> es)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Parallel::Parallel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:517,1
    - Dst: test::grpc::Parallel::StartTests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ParallelTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: test::grpc::Parallel::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - Parallel::Parallel
    - test::grpc::Parallel::StartTests
    linkageType: ''
    returnType: void
    signature: "void Start(const ParallelTest &desc, Test::Stub *server_stub,\n                    Test::Stub
      *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::Parallel::GetWeightSum
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:529,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:530,1
    - Dst: ParallelTest::subtests_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ParallelTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 531
    functionName: test::grpc::Parallel::Parallel
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - test::grpc::Parallel::GetWeightSum
    - ParallelTest::subtests_size
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: "void Parallel(const ParallelTest &desc, Test::Stub *server_stub,\n
      \          CompletionQueue *cq,\n           std::function<void(bool, const TestResult
      &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParallelTest::subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:535,1
    - Dst: weight
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - desc
    argTypes:
    - ParallelTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 539
    functionName: test::grpc::Parallel::GetWeightSum
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - ParallelTest::subtests
    - weight
    linkageType: ''
    returnType: int
    signature: int GetWeightSum(const ParallelTest &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::Parallel::StartTestsLocked
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::shared_ptr<Parallel>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 3
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: test::grpc::Parallel::StartTests
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - test::grpc::Parallel::StartTestsLocked
    linkageType: ''
    returnType: void
    signature: void StartTests(std::shared_ptr<Parallel> p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Parallel>::desc_::parallel_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:547,1
    - Dst: std::shared_ptr<Parallel>::desc_::test_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:548,1
    - Dst: std::shared_ptr<Parallel>::NextSubtestType
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:555,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:557,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:561,1
    - Dst: SubtestStats::AddFailure
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:570,1
    - Dst: status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:570,1
    - Dst: SubtestStats::latencies::push_front
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:572,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:573,1
    - Dst: test::grpc::Parallel::StartTestsLocked
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:575,1
    - Dst: std::shared_ptr<Parallel>::desc_::test_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:576,1
    - Dst: std::shared_ptr<Parallel>::CalculateStats
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:577,1
    - Dst: std::shared_ptr<Parallel>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:578,1
    - Dst: std::shared_ptr<Parallel>::desc_::subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:582,1
    - Dst: auto::plan_case
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:583,1
    - Dst: test::grpc::Echo::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:585,1
    - Dst: auto::echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:585,1
    - Dst: test::grpc::EchoStream::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:589,1
    - Dst: auto::echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:589,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::shared_ptr<Parallel>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 546
    functionDepth: 2
    functionLinenumber: 546
    functionLinenumberEnd: 597
    functionName: test::grpc::Parallel::StartTestsLocked
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 12
    functionsReached:
    - SubtestStats::latencies::push_front
    - std::shared_ptr<Parallel>::CalculateStats
    - auto::plan_case
    - SubtestStats::AddFailure
    - std::shared_ptr<Parallel>::desc_::parallel_limit
    - std::shared_ptr<Parallel>::desc_::subtests
    - status
    - test::grpc::Parallel::StartTestsLocked
    - test::grpc::Echo::Start
    - std::shared_ptr<Parallel>::done_
    - auto::echo
    - test::grpc::EchoStream::Start
    - std::chrono::duration_cast<std::chrono::microseconds>
    - auto::echo_stream
    - std::shared_ptr<Parallel>::NextSubtestType
    - std::shared_ptr<Parallel>::desc_::test_count
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: void StartTestsLocked(std::shared_ptr<Parallel> p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:609,1
    - Dst: weight
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:610,1
    - Dst: weight
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 617
    functionName: test::grpc::Parallel::NextSubtestType
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - subtests
    - weight
    linkageType: ''
    returnType: int
    signature: int NextSubtestType()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mutable_parallel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:621,1
    - Dst: auto*::set_total_time_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:622,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:623,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:624,1
    - Dst: auto*::add_stats
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:629,1
    - Dst: ParallelSubtestStats*::set_succeeded_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:630,1
    - Dst: ParallelSubtestStats*::set_failed_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:631,1
    - Dst: count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:637,1
    - Dst: count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:643,1
    - Dst: std::sqrt
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:647,1
    - Dst: ParallelSubtestStats*::set_mean_latency_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:649,1
    - Dst: ParallelSubtestStats*::set_stddev_latency_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:650,1
    - Dst: second::Fill
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:653,1
    - Dst: ParallelSubtestStats*::add_failures
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:653,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:657,1
    - Dst: test_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:657,1
    - Dst: allowed_failure_rate
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:657,1
    - Dst: mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:658,1
    - Dst: mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 664
    functionName: test::grpc::Parallel::CalculateStats
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - second::Fill
    - mutable_parallel
    - std::sqrt
    - ParallelSubtestStats*::add_failures
    - ParallelSubtestStats*::set_failed_count
    - ParallelSubtestStats*::set_stddev_latency_micros
    - ParallelSubtestStats*::set_succeeded_count
    - count
    - static_cast<int>
    - auto*::add_stats
    - test_count
    - mutable_status
    - std::chrono::duration_cast<std::chrono::microseconds>
    - ParallelSubtestStats*::set_mean_latency_micros
    - allowed_failure_rate
    - auto*::set_total_time_micros
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: void CalculateStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - CallStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 670
    functionName: test::grpc::Parallel::AggregatedStatus::AggregatedStatus
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 3
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void AggregatedStatus(const CallStatus &status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 675
    functionName: test::grpc::Parallel::AggregatedStatus::Inc
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void Inc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AggregatedCallStatus*::set_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:678,1
    - Dst: AggregatedCallStatus*::set_start_time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:679,1
    - Dst: ctime
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:679,1
    - Dst: AggregatedCallStatus*::set_end_time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:680,1
    - Dst: ctime
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:680,1
    - Dst: AggregatedCallStatus*::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - call_status
    argTypes:
    - AggregatedCallStatus*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 682
    functionName: test::grpc::Parallel::AggregatedStatus::Fill
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - AggregatedCallStatus*::mutable_status
    - AggregatedCallStatus*::set_count
    - ctime
    - AggregatedCallStatus*::set_end_time
    - AggregatedCallStatus*::set_start_time
    linkageType: ''
    returnType: void
    signature: void Fill(AggregatedCallStatus *call_status) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetStatusAggregationKey
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:698,1
    - Dst: find
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:699,1
    - Dst: end
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:700,1
    - Dst: emplace
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:701,1
    - Dst: std::map<std::string, AggregatedStatus>::iterator::second::Inc
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - status
    argTypes:
    - CallStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 705
    functionName: test::grpc::Parallel::AddFailure
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::map<std::string, AggregatedStatus>::iterator::second::Inc
    - emplace
    - GetStatusAggregationKey
    - find
    - end
    linkageType: ''
    returnType: void
    signature: void AddFailure(const CallStatus &status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProbeCallLimit::ProbeCallLimit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:731,1
    - Dst: Test::Stub*::AsyncCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:733,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:736,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:737,1
    - Dst: std::shared_ptr::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:739,1
    - Dst: test::grpc::ProbeCallLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:742,1
    - Dst: test::grpc::ProbeCallLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:743,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ProbeCallLimitTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 727
    functionDepth: 2
    functionLinenumber: 727
    functionLinenumberEnd: 745
    functionName: test::grpc::ProbeCallLimit::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::done_
    - ProbeCallLimit::ProbeCallLimit
    - Test::Stub*::AsyncCork
    - test::grpc::ProbeCallLimit::StartProbe
    - test::grpc::ProbeCallLimit::StartReadCorkState
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const ProbeCallLimitTest &desc, Test::Stub *server_stub,\n
      \                   Test::Stub *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:752,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ProbeCallLimitTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 753
    functionName: test::grpc::ProbeCallLimit::ProbeCallLimit
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - CreateEchoRequestText
    - mutable_request
    linkageType: ''
    returnType: void
    signature: "void ProbeCallLimit(const ProbeCallLimitTest &desc, Test::Stub *server_stub,\n
      \                CompletionQueue *cq,\n                 std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:756,1
    - Dst: test::grpc::ProbeCallLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:766,1
    - Dst: std::shared_ptr<ProbeCallLimit>::alarm_::Cancel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:773,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeCallLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 776
    functionName: test::grpc::ProbeCallLimit::StartReadCorkState
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 12
    functionsReached:
    - test::grpc::ProbeCallLimit::StartReadCorkState
    - std::shared_ptr<ProbeCallLimit>::cork_rpc_::Read
    - Tag::Tag
    - std::shared_ptr<ProbeCallLimit>::alarm_::Cancel
    linkageType: ''
    returnType: void
    signature: void StartReadCorkState(std::shared_ptr<ProbeCallLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeCallLimit>::alarm_::reset
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:780,1
    - Dst: gpr_time_add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:782,1
    - Dst: gpr_now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:783,1
    - Dst: gpr_time_from_millis
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:784,1
    - Dst: std::shared_ptr<ProbeCallLimit>::desc_::timeout_ms
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:784,1
    - Dst: std::shared_ptr<ProbeCallLimit>::alarm_::reset
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:789,1
    - Dst: test::grpc::ProbeCallLimit::OnTimeout
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:790,1
    - Dst: test::grpc::ProbeCallLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:795,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:785,1
    - Dst: Alarm::Alarm
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:780,1
    - Dst: EchoResponse::EchoResponse
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:800,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:801,1
    - Dst: ClientContext::ClientContext
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:802,1
    - Dst: std::shared_ptr<ProbeCallLimit>::server_stub_::AsyncEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:804,1
    - Dst: std::shared_ptr<ProbeCallLimit>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:804,1
    - Dst: ClientAsyncResponseReader*::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:808,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeCallLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 818
    functionName: test::grpc::ProbeCallLimit::StartProbe
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 12
    functionsReached:
    - std::shared_ptr<ProbeCallLimit>::desc_::request
    - ClientAsyncResponseReader*::Finish
    - gpr_now
    - Alarm::Alarm
    - gpr_time_from_millis
    - std::shared_ptr<ProbeCallLimit>::alarm_::reset
    - std::shared_ptr<ProbeCallLimit>::server_stub_::AsyncEcho
    - test::grpc::ProbeCallLimit::OnTimeout
    - Status::Status
    - gpr_time_add
    - test::grpc::ProbeCallLimit::StartProbe
    - ClientContext::ClientContext
    - Tag::Tag
    - EchoResponse::EchoResponse
    - std::shared_ptr<ProbeCallLimit>::desc_::timeout_ms
    linkageType: ''
    returnType: void
    signature: void StartProbe(std::shared_ptr<ProbeCallLimit> pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_state_::current_corked_calls
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:823,1
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:825,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:826,1
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:827,1
    - Dst: TestResult::mutable_probe_call_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:831,1
    - Dst: std::shared_ptr<ProbeCallLimit>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:832,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:828,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeCallLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 835
    functionName: test::grpc::ProbeCallLimit::OnTimeout
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - std::shared_ptr<ProbeCallLimit>::cork_rpc_::WritesDone
    - TestResult::mutable_probe_call_limit
    - Status::Status
    - std::shared_ptr<ProbeCallLimit>::cork_rpc_::Finish
    - std::shared_ptr<ProbeCallLimit>::cork_state_::current_corked_calls
    - std::shared_ptr<ProbeCallLimit>::done_
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: void OnTimeout(std::shared_ptr<ProbeCallLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:864,1
    - Dst: Test::Stub*::AsyncCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:866,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:869,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:870,1
    - Dst: std::shared_ptr::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:872,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:875,1
    - Dst: std::shared_ptr::server_stub_::AsyncEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:876,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:878,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:879,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:877,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ProbeDownstreamMessageLimitTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 859
    functionDepth: 2
    functionLinenumber: 859
    functionLinenumberEnd: 882
    functionName: test::grpc::ProbeDownstreamMessageLimit::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::done_
    - test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
    - std::shared_ptr::server_stub_::AsyncEchoStream
    - Test::Stub*::AsyncCork
    - test::grpc::ProbeDownstreamMessageLimit::StartProbe
    - ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
    - test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const ProbeDownstreamMessageLimitTest &desc,\n                    Test::Stub
      *server_stub, Test::Stub *direct_stub,\n                    CompletionQueue
      *cq,\n                    std::function<void(bool, const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:889,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ProbeDownstreamMessageLimitTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 890
    functionName: test::grpc::ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - CreateEchoRequestText
    - mutable_request
    linkageType: ''
    returnType: void
    signature: "void ProbeDownstreamMessageLimit(\n      const ProbeDownstreamMessageLimitTest
      &desc, Test::Stub *server_stub,\n      CompletionQueue *cq, std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:894,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:898,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 900
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 12
    functionsReached:
    - test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
    - std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Read
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: "void StartReadCorkState(\n      std::shared_ptr<ProbeDownstreamMessageLimit>
      pc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:904,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:908,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 910
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 12
    functionsReached:
    - Tag::Tag
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Read
    - test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
    linkageType: ''
    returnType: void
    signature: "void StartReadStreamMessages(\n      std::shared_ptr<ProbeDownstreamMessageLimit>
      pc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Alarm>::shared_ptr<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:919,1
    - Dst: std::make_shared<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:920,1
    - Dst: gpr_time_add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:922,1
    - Dst: gpr_now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:923,1
    - Dst: gpr_time_from_millis
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:924,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::timeout_ms
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:924,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::OnTimeout
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:929,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:932,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:925,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:940,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:940,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:943,1
    - Dst: std::shared_ptr::Cancel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:952,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 954
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartProbe
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 12
    functionsReached:
    - std::make_shared<Alarm>
    - gpr_now
    - gpr_time_from_millis
    - std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::timeout_ms
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Write
    - test::grpc::ProbeDownstreamMessageLimit::OnTimeout
    - gpr_time_add
    - std::shared_ptr<Alarm>::shared_ptr<Alarm>
    - test::grpc::ProbeDownstreamMessageLimit::StartProbe
    - std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::request
    - Tag::Tag
    - test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
    - std::shared_ptr::Cancel
    linkageType: ''
    returnType: void
    signature: void StartProbe(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:960,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:961,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:962,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:965,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:962,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:960,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 956
    functionDepth: 2
    functionLinenumber: 956
    functionLinenumberEnd: 972
    functionName: test::grpc::ProbeDownstreamMessageLimit::OnTimeout
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::WritesDone
    - std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Finish
    - test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
    - Status::Status
    - Tag::Tag
    - test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
    linkageType: ''
    returnType: void
    signature: void OnTimeout(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:975,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:976,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:977,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:980,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:977,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 983
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 12
    functionsReached:
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Finish
    - test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
    - Status::Status
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::WritesDone
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: void StartWritesDone(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TestResult::mutable_probe_downstream_message_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:991,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 994
    functionName: test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 12
    functionsReached:
    - TestResult::mutable_probe_downstream_message_limit
    - std::shared_ptr<ProbeDownstreamMessageLimit>::done_
    linkageType: ''
    returnType: void
    signature: void TryIssueReport(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1032,1
    - Dst: std::shared_ptr::server_stub_::AsyncEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1033,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1037,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1038,1
    - Dst: std::shared_ptr::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1040,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1043,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ProbeUpstreamMessageLimitTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1027
    functionDepth: 2
    functionLinenumber: 1027
    functionLinenumberEnd: 1045
    functionName: test::grpc::ProbeUpstreamMessageLimit::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::done_
    - ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
    - std::shared_ptr::server_stub_::AsyncEchoStream
    - test::grpc::ProbeUpstreamMessageLimit::StartProbe
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const ProbeUpstreamMessageLimitTest &desc,\n                    Test::Stub
      *server_stub, Test::Stub *direct_stub,\n                    CompletionQueue
      *cq,\n                    std::function<void(bool, const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1052,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ProbeUpstreamMessageLimitTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1053
    functionName: test::grpc::ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - CreateEchoRequestText
    - mutable_request
    linkageType: ''
    returnType: void
    signature: "void ProbeUpstreamMessageLimit(const ProbeUpstreamMessageLimitTest
      &desc,\n                            Test::Stub *server_stub, CompletionQueue
      *cq,\n                            std::function<void(bool, const TestResult
      &)> done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1059,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1063,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1065
    functionName: test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 11
    functionsReached:
    - Tag::Tag
    - test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Read
    linkageType: ''
    returnType: void
    signature: "void StartReadStreamMessages(\n      std::shared_ptr<ProbeUpstreamMessageLimit>
      pc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Alarm>::shared_ptr<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1074,1
    - Dst: std::make_shared<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1075,1
    - Dst: gpr_time_add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1077,1
    - Dst: gpr_now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1078,1
    - Dst: gpr_time_from_millis
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1079,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::timeout_ms
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1079,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::OnTimeout
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1084,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1087,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1080,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1095,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1095,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1098,1
    - Dst: std::shared_ptr::Cancel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1105,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1067
    functionDepth: 3
    functionLinenumber: 1067
    functionLinenumberEnd: 1107
    functionName: test::grpc::ProbeUpstreamMessageLimit::StartProbe
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 12
    functionsReached:
    - std::make_shared<Alarm>
    - gpr_now
    - std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::timeout_ms
    - gpr_time_from_millis
    - std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::request
    - gpr_time_add
    - test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
    - std::shared_ptr<Alarm>::shared_ptr<Alarm>
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Write
    - test::grpc::ProbeUpstreamMessageLimit::StartProbe
    - test::grpc::ProbeUpstreamMessageLimit::OnTimeout
    - Tag::Tag
    - std::shared_ptr::Cancel
    linkageType: ''
    returnType: void
    signature: void StartProbe(std::shared_ptr<ProbeUpstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1114,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1109
    functionDepth: 2
    functionLinenumber: 1109
    functionLinenumberEnd: 1119
    functionName: test::grpc::ProbeUpstreamMessageLimit::OnTimeout
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
    - test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
    linkageType: ''
    returnType: void
    signature: void OnTimeout(std::shared_ptr<ProbeUpstreamMessageLimit> pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1122,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1123,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1124,1
    - Dst: TestResult::mutable_probe_upstream_message_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1128,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1130,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1125,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1133
    functionName: test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 12
    functionsReached:
    - TestResult::mutable_probe_upstream_message_limit
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Finish
    - Status::Status
    - std::shared_ptr<ProbeUpstreamMessageLimit>::done_
    - Tag::Tag
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::WritesDone
    linkageType: ''
    returnType: void
    signature: void StartWritesDone(std::shared_ptr<ProbeUpstreamMessageLimit> pc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TestPlans::server_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1153,1
    - Dst: test::grpc::GetStub
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1154,1
    - Dst: TestPlans::server_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1154,1
    - Dst: TestPlans::direct_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1156,1
    - Dst: test::grpc::GetStub
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1157,1
    - Dst: TestPlans::direct_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1157,1
    - Dst: test::grpc::Echo::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1162,1
    - Dst: std::unique_ptr::get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1162,1
    - Dst: get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1162,1
    - Dst: CompletionQueue::Shutdown
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1165,1
    - Dst: TestPlans::has_warmup
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1169,1
    - Dst: test::grpc::Echo::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: TestPlans::warmup
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: std::unique_ptr::get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: start_test
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1173,1
    - Dst: start_test
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1177,1
    - Dst: CompletionQueue::Next
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1183,1
    - Dst: reinterpret_cast<Tag *>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - plans
    - desc
    - result
    argTypes:
    - TestPlans
    - typename T::TestDesc
    - TestResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1149
    functionDepth: 1
    functionLinenumber: 1149
    functionLinenumberEnd: 1188
    functionName: test::grpc::RunSync
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 2
    functionsReached:
    - TestPlans::warmup
    - reinterpret_cast<Tag *>
    - std::unique_ptr::get
    - TestPlans::direct_addr
    - test::grpc::Echo::Start
    - start_test
    - TestPlans::has_warmup
    - TestPlans::server_addr
    - test::grpc::GetStub
    - get
    - CompletionQueue::Shutdown
    - CompletionQueue::Next
    linkageType: ''
    returnType: void
    signature: "void RunSync(const TestPlans &plans, const typename T::TestDesc &desc,\n
      \            TestResult *result)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TestPlans::plans
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1193,1
    - Dst: TestResults*::add_results
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1194,1
    - Dst: plan_case
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1196,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1198,1
    - Dst: echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1198,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1201,1
    - Dst: echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1201,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1204,1
    - Dst: parallel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1204,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1207,1
    - Dst: probe_call_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1207,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1210,1
    - Dst: probe_downstream_message_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1211,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1214,1
    - Dst: probe_upstream_message_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1215,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1218,1
    - Dst: echo_report
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1218,1
    - Dst: std::abort
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1222,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - plans
    - results
    argTypes:
    - TestPlans
    - TestResults*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1192
    functionDepth: 2
    functionLinenumber: 1192
    functionLinenumberEnd: 1225
    functionName: test::grpc::RunTestPlans
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 1
    functionsReached:
    - echo
    - test::grpc::RunSync
    - probe_upstream_message_limit
    - echo_stream
    - parallel
    - probe_downstream_message_limit
    - probe_call_limit
    - plan_case
    - TestPlans::plans
    - echo_report
    - TestResults*::add_results
    - std::abort
    linkageType: ''
    returnType: void
    signature: void RunTestPlans(const TestPlans &plans, TestResults *results)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::NewTypeResolverForDescriptorPool
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:64,1
    - Dst: ::google::protobuf::DescriptorPool::generated_pool
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: test::grpc::CreateTypeResolver
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - ::google::protobuf::util::NewTypeResolverForDescriptorPool
    - ::google::protobuf::DescriptorPool::generated_pool
    linkageType: ''
    returnType: TypeResolver
    signature: TypeResolver *CreateTypeResolver()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::CreateTypeResolver
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: test::grpc::GetTypeResolver
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - test::grpc::CreateTypeResolver
    linkageType: ''
    returnType: TypeResolver
    signature: TypeResolver *GetTypeResolver()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:74,1
    - Dst: Message::GetDescriptor
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: test::grpc::GetTypeUrl
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - Message::GetDescriptor
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string GetTypeUrl(const Message &message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Status::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:80,1
    - Dst: absl::OkStatus
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - proto_status
    argTypes:
    - absl::Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: test::grpc::FromProto
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - absl::Status::ok
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status FromProto(\n    const absl::Status &proto_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::NewTypeResolverForDescriptorPool
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:64,1
    - Dst: ::google::protobuf::DescriptorPool::generated_pool
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: test::grpc::CreateTypeResolver
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 7
    functionsReached:
    - ::google::protobuf::util::NewTypeResolverForDescriptorPool
    - ::google::protobuf::DescriptorPool::generated_pool
    linkageType: ''
    returnType: TypeResolver
    signature: TypeResolver *CreateTypeResolver()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::CreateTypeResolver
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: test::grpc::GetTypeResolver
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - test::grpc::CreateTypeResolver
    linkageType: ''
    returnType: TypeResolver
    signature: TypeResolver *GetTypeResolver()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:74,1
    - Dst: Message::GetDescriptor
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: test::grpc::GetTypeUrl
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - Message::GetDescriptor
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string GetTypeUrl(const Message &message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::Status::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:80,1
    - Dst: absl::OkStatus
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - proto_status
    argTypes:
    - absl::Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: test::grpc::FromProto
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - absl::Status::ok
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status FromProto(\n    const absl::Status &proto_status)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonToBinaryString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:93,1
    - Dst: test::grpc::GetTypeResolver
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:94,1
    - Dst: test::grpc::GetTypeUrl
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:94,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:95,1
    - Dst: test::grpc::FromProto
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:96,1
    - Dst: Message*::ParseFromString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:98,1
    - Dst: absl::OkStatus
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:99,1
    - Dst: test::grpc::Parallel::AggregatedStatus::AggregatedStatus
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - json
    - message
    argTypes:
    - std::string
    - Message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 104
    functionName: test::grpc::JsonToProto
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - ::google::protobuf::util::JsonToBinaryString
    - test::grpc::GetTypeUrl
    - absl::Status::ok
    - Message*::ParseFromString
    - test::grpc::FromProto
    - test::grpc::Parallel::AggregatedStatus::AggregatedStatus
    - test::grpc::GetTypeResolver
    - absl::OkStatus
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status JsonToProto(const std::string &json,\n                                             Message
      *message)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Message::SerializeAsString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:117,1
    - Dst: std::string::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:118,1
    - Dst: std::string::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:119,1
    - Dst: ::google::protobuf::util::BinaryToJsonStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:121,1
    - Dst: test::grpc::GetTypeResolver
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:122,1
    - Dst: test::grpc::GetTypeUrl
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:122,1
    - Dst: test::grpc::FromProto
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - message
    - json
    - options
    argTypes:
    - Message
    - ::google::protobuf::io::ZeroCopyOutputStream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 125
    functionName: test::grpc::ProtoToJson
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - test::grpc::GetTypeUrl
    - std::string::data
    - test::grpc::FromProto
    - Message::SerializeAsString
    - test::grpc::GetTypeResolver
    - ::google::protobuf::util::BinaryToJsonStream
    - std::string::size
    linkageType: ''
    returnType: absl::Status
    signature: "absl::Status ProtoToJson(\n    const Message &message, ::google::protobuf::io::ZeroCopyOutputStream
      *json,\n    int options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InsecureChannelCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unused_desc
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 18
    functionsReached:
    - InsecureChannelCredentials
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const T &unused_desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CallConfig::use_ssl
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:138,1
    - Dst: ::grpc::SslCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:140,1
    - Dst: InsecureChannelCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - call_config
    argTypes:
    - CallConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 18
    functionsReached:
    - CallConfig::use_ssl
    - InsecureChannelCredentials
    - ::grpc::SslCredentials
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const CallConfig &call_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:147,1
    - Dst: EchoTest::call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - EchoTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 19
    functionsReached:
    - test::grpc::GetCreds
    - EchoTest::call_config
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const EchoTest &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:152,1
    - Dst: EchoStreamTest::call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - EchoStreamTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 20
    functionsReached:
    - test::grpc::GetCreds
    - EchoStreamTest::call_config
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const EchoStreamTest &desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParallelTest::subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:157,1
    - Dst: auto::plan_case
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:158,1
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:160,1
    - Dst: auto::echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:160,1
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:162,1
    - Dst: auto::echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:162,1
    - Dst: InsecureChannelCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - desc
    argTypes:
    - ParallelTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 21
    functionsReached:
    - auto::plan_case
    - ParallelTest::subtests
    - test::grpc::GetCreds
    - InsecureChannelCredentials
    - auto::echo
    - auto::echo_stream
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const ParallelTest &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChannelArguments::SetMaxReceiveMessageSize
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:173,1
    - Dst: ChannelArguments::SetMaxSendMessageSize
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:174,1
    - Dst: std::unique_ptr<Test::Stub>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:177,1
    - Dst: Test::NewStub
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - addr
    - desc
    argTypes:
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: test::grpc::GetStub
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - Test::NewStub
    - ChannelArguments::SetMaxSendMessageSize
    - std::unique_ptr<Test::Stub>
    - ChannelArguments::SetMaxReceiveMessageSize
    linkageType: ''
    returnType: std::unique_ptr<Test::Stub>
    signature: "std::unique_ptr<Test::Stub> GetStub(const std::string &addr,\n                                           const
      T &desc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CallConfig::api_key
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:181,1
    - Dst: ClientContext*::AddMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:182,1
    - Dst: CallConfig::api_key
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:182,1
    - Dst: CallConfig::auth_token
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:184,1
    - Dst: ClientContext*::AddMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:185,1
    - Dst: CallConfig::auth_token
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:185,1
    - Dst: CallConfig::metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:187,1
    - Dst: ClientContext*::AddMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:188,1
    - Dst: CallConfig::compression
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:190,1
    - Dst: ClientContext*::set_compression_algorithm
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:191,1
    - Dst: static_cast<grpc_compression_algorithm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:192,1
    - Dst: CallConfig::compression
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - call_config
    - ctx
    argTypes:
    - CallConfig
    - ClientContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: test::grpc::SetCallConfig
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - ClientContext*::set_compression_algorithm
    - ClientContext*::AddMetadata
    - CallConfig::auth_token
    - CallConfig::compression
    - CallConfig::api_key
    - CallConfig::metadata
    - static_cast<grpc_compression_algorithm>
    linkageType: ''
    returnType: void
    signature: void SetCallConfig(const CallConfig &call_config, ClientContext *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:202,1
    - Dst: first::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:202,1
    - Dst: first::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:202,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:203,1
    - Dst: second::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:203,1
    - Dst: second::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:203,1
    - Dst: T1::find
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:204,1
    - Dst: T1::end
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:204,1
    - Dst: T1::at
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:205,1
    - Dst: google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>*::Add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:208,1
    - Dst: auto*::set_key
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:209,1
    - Dst: auto*::set_expected
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:210,1
    - Dst: T1::at
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:210,1
    - Dst: auto*::set_actual
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - expected
    - actual
    - results
    argTypes:
    - T1
    - T2
    - google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 215
    functionName: test::grpc::VerifyMetadata
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - auto*::set_expected
    - first::data
    - auto*::set_key
    - first::size
    - auto*::set_actual
    - second::size
    - google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>*::Add
    - T1::end
    - second::data
    - T1::find
    - std::string
    - T1::at
    linkageType: ''
    returnType: int
    signature: "int VerifyMetadata(\n    const T1 &expected, const T2 &actual,\n    google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>
      *results)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size_dist
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:223,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:225,1
    - Dst: byte_dist
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:229,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:231,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - max_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 232
    functionName: test::grpc::RandomString
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - std::string
    - reinterpret_cast<const char *>
    - byte_dist
    - size_dist
    linkageType: ''
    returnType: std::string
    signature: std::string RandomString(int max_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoRequest*::random_payload_max_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:235,1
    - Dst: EchoRequest*::set_text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:236,1
    - Dst: test::grpc::RandomString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:236,1
    - Dst: EchoRequest*::random_payload_max_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:236,1
    - Dst: EchoRequest*::space_payload_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:238,1
    - Dst: EchoRequest*::set_text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:239,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:239,1
    - Dst: EchoRequest*::space_payload_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - EchoRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: test::grpc::CreateEchoRequestText
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - test::grpc::RandomString
    - EchoRequest*::set_text
    - EchoRequest*::space_payload_size
    - EchoRequest*::random_payload_max_size
    - std::string
    linkageType: ''
    returnType: void
    signature: void CreateEchoRequestText(EchoRequest *request)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CallStatus::details
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:244,1
    - Dst: test::grpc::JsonToProto
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:248,1
    - Dst: ::test::grpc::GrpcErrorDetail::SerializeToString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:249,1
    - Dst: std::to_string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:251,1
    - Dst: CallStatus::code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - status
    argTypes:
    - CallStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 252
    functionName: test::grpc::GetStatusAggregationKey
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - ::test::grpc::GrpcErrorDetail::SerializeToString
    - CallStatus::details
    - CallStatus::code
    - std::to_string
    - test::grpc::JsonToProto
    linkageType: ''
    returnType: std::string
    signature: std::string GetStatusAggregationKey(const CallStatus &status)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Echo::Echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:261,1
    - Dst: Test::Stub*::AsyncEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:262,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:262,1
    - Dst: std::shared_ptr::rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:263,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:266,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:267,1
    - Dst: std::shared_ptr::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:267,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:268,1
    - Dst: std::shared_ptr::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:268,1
    - Dst: TestResult::mutable_echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:270,1
    - Dst: std::shared_ptr::response_::text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:270,1
    - Dst: std::shared_ptr::desc_::expected_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:275,1
    - Dst: std::shared_ptr::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:276,1
    - Dst: std::shared_ptr::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:277,1
    - Dst: std::shared_ptr::desc_::expected_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:278,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:280,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:281,1
    - Dst: std::shared_ptr::response_::text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:281,1
    - Dst: TestResult::mutable_echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:284,1
    - Dst: VerifyMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:286,1
    - Dst: std::shared_ptr::desc_::call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:287,1
    - Dst: std::shared_ptr::response_::received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:288,1
    - Dst: VerifyMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:289,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:290,1
    - Dst: std::shared_ptr::ctx_::GetServerInitialMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:291,1
    - Dst: VerifyMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:292,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:293,1
    - Dst: std::shared_ptr::ctx_::GetServerTrailingMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:294,1
    - Dst: TestResult::mutable_echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:295,1
    - Dst: auto*::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:296,1
    - Dst: std::shared_ptr::desc_::expected_metadata_keys
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:299,1
    - Dst: std::shared_ptr::response_::received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:300,1
    - Dst: std::shared_ptr::response_::received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:301,1
    - Dst: TestResult::mutable_additional_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:302,1
    - Dst: done
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:305,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - EchoTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 307
    functionName: test::grpc::Echo::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 12
    functionsReached:
    - std::shared_ptr::response_::received_metadata
    - std::shared_ptr::ctx_::GetServerTrailingMetadata
    - std::shared_ptr::desc_::expected_metadata_keys
    - auto*::size
    - std::shared_ptr::desc_::call_config
    - TestResult::mutable_echo
    - std::shared_ptr::desc_::expected_status
    - std::shared_ptr::status_::error_message
    - TestResult::mutable_additional_metadata
    - std::shared_ptr::desc_::request
    - std::shared_ptr::response_::text
    - done
    - std::shared_ptr::ctx_::GetServerInitialMetadata
    - std::shared_ptr::status_::ok
    - VerifyMetadata
    - std::shared_ptr::rpc_::Finish
    - Test::Stub*::AsyncEcho
    - Echo::Echo
    - std::shared_ptr::status_::error_code
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const EchoTest &desc, Test::Stub *server_stub,\n                    Test::Stub
      *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetCallConfig
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:312,1
    - Dst: call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:312,1
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:313,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - desc
    - done
    argTypes:
    - EchoTest
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: test::grpc::Echo::Echo
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - call_config
    - CreateEchoRequestText
    - mutable_request
    - SetCallConfig
    linkageType: ''
    returnType: void
    signature: void Echo(const EchoTest &desc, std::function<void(bool, const TestResult
      &)> done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoReport::EchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:331,1
    - Dst: Test::Stub*::AsyncEchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:333,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:333,1
    - Dst: std::shared_ptr::rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:334,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:337,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:338,1
    - Dst: std::shared_ptr::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:338,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:339,1
    - Dst: std::shared_ptr::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:339,1
    - Dst: TestResult::mutable_echo_report
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:342,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:345,1
    - Dst: MessageDifferencer::Equals
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:346,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:346,1
    - Dst: done
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:349,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - EchoReportTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 351
    functionName: test::grpc::EchoReport::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - MessageDifferencer::Equals
    - std::shared_ptr::rpc_::Finish
    - done
    - TestResult::mutable_echo_report
    - Test::Stub*::AsyncEchoReport
    - EchoReport::EchoReport
    - std::shared_ptr::status_::ok
    - std::shared_ptr::status_::error_message
    - std::shared_ptr::status_::error_code
    - Tag::Tag
    - std::shared_ptr::desc_::request
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const EchoReportTest &desc, Test::Stub *server_stub,\n
      \                   Test::Stub *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - desc
    - done
    argTypes:
    - EchoReportTest
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: test::grpc::EchoReport::EchoReport
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EchoReport(const EchoReportTest &desc,\n             std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EchoStream::EchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:373,1
    - Dst: Test::Stub*::AsyncEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:375,1
    - Dst: test::grpc::EchoStream::StartWrite
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:377,1
    - Dst: test::grpc::EchoStream::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:378,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:380,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - EchoStreamTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 383
    functionName: test::grpc::EchoStream::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 6
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - Test::Stub*::AsyncEchoStream
    - test::grpc::EchoStream::StartRead
    - EchoStream::EchoStream
    - test::grpc::EchoStream::StartWrite
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: "void Start(const EchoStreamTest &desc, Test::Stub *server_stub,\n
      \                   Test::Stub *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EchoStreamTest::count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:392,1
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:393,1
    - Dst: SetCallConfig
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:394,1
    - Dst: call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:394,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:395,1
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - EchoStreamTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 398
    functionName: test::grpc::EchoStream::EchoStream
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - call_config
    - mutable_request
    - SetCallConfig
    - EchoStreamTest::count
    - time
    - CreateEchoRequestText
    linkageType: ''
    returnType: void
    signature: "void EchoStream(const EchoStreamTest &desc, Test::Stub *server_stub,\n
      \            CompletionQueue *cq,\n             std::function<void(bool, const
      TestResult &)> done)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<EchoStream>::desc_::request_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:409,1
    - Dst: std::shared_ptr<EchoStream>::desc_::request_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:410,1
    - Dst: std::shared_ptr<EchoStream>::desc_::expected_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:412,1
    - Dst: CallStatus::code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:413,1
    - Dst: Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: StatusCode
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: CallStatus::code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: CallStatus::details
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: std::shared_ptr<EchoStream>::rpc_::Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:418,1
    - Dst: std::shared_ptr<EchoStream>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:418,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:425,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:418,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 428
    functionName: test::grpc::EchoStream::StartWrite
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 13
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - CallStatus::details
    - std::shared_ptr<EchoStream>::desc_::expected_status
    - CallStatus::code
    - std::shared_ptr<EchoStream>::desc_::request_size
    - std::shared_ptr<EchoStream>::desc_::request
    - Status
    - std::shared_ptr<EchoStream>::rpc_::Write
    - Tag::Tag
    - StatusCode
    linkageType: ''
    returnType: void
    signature: "void StartWrite(std::shared_ptr<EchoStream> es,\n                         bool
      write_accounted_for = false)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<EchoResponse>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:431,1
    - Dst: std::shared_ptr<EchoStream>::rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:432,1
    - Dst: auto::get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:432,1
    - Dst: test::grpc::EchoStream::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:434,1
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:437,1
    - Dst: std::shared_ptr<EchoStream>::desc_::count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:439,1
    - Dst: std::shared_ptr<EchoStream>::desc_::count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:440,1
    - Dst: std::shared_ptr<EchoStream>::desc_::duration_in_sec
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:441,1
    - Dst: std::shared_ptr<EchoStream>::desc_::duration_in_sec
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:443,1
    - Dst: test::grpc::EchoStream::StartWrite
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:444,1
    - Dst: test::grpc::EchoStream::StartDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:446,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:450,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 453
    functionName: test::grpc::EchoStream::StartRead
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 14
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - std::shared_ptr<EchoStream>::desc_::count
    - std::shared_ptr<EchoStream>::desc_::duration_in_sec
    - std::make_shared<EchoResponse>
    - auto::get
    - test::grpc::EchoStream::StartRead
    - time
    - test::grpc::EchoStream::StartWrite
    - Tag::Tag
    - std::shared_ptr<EchoStream>::rpc_::Read
    - test::grpc::EchoStream::StartDone
    linkageType: ''
    returnType: void
    signature: void StartRead(std::shared_ptr<EchoStream> es)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<EchoStream>::rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:460,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:460,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: test::grpc::EchoStream::StartDone
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 7
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - Tag::Tag
    - std::shared_ptr<EchoStream>::rpc_::WritesDone
    linkageType: ''
    returnType: void
    signature: void StartDone(std::shared_ptr<EchoStream> es)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<EchoStream>::rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:468,1
    - Dst: std::shared_ptr<EchoStream>::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:471,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:472,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:472,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:473,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:473,1
    - Dst: TestResult::mutable_echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:476,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:478,1
    - Dst: std::shared_ptr<EchoStream>::status_expected_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:478,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:482,1
    - Dst: std::shared_ptr<EchoStream>::status_expected_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:483,1
    - Dst: std::shared_ptr<EchoStream>::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:484,1
    - Dst: std::shared_ptr<EchoStream>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:488,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 490
    functionName: test::grpc::EchoStream::StartFinish
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 28
    functionsReached:
    - TestResult::mutable_echo_stream
    - std::shared_ptr<EchoStream>::status_expected_::error_code
    - std::shared_ptr<EchoStream>::status_::error_message
    - std::shared_ptr<EchoStream>::done_
    - std::shared_ptr<EchoStream>::rpc_::Finish
    - std::shared_ptr<EchoStream>::status_::ok
    - std::shared_ptr<EchoStream>::status_expected_::error_message
    - std::shared_ptr<EchoStream>::status_::error_code
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: void StartFinish(std::shared_ptr<EchoStream> es)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Parallel::Parallel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:517,1
    - Dst: test::grpc::Parallel::StartTests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ParallelTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: test::grpc::Parallel::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - Parallel::Parallel
    - test::grpc::Parallel::StartTests
    linkageType: ''
    returnType: void
    signature: "void Start(const ParallelTest &desc, Test::Stub *server_stub,\n                    Test::Stub
      *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::Parallel::GetWeightSum
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:529,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:530,1
    - Dst: ParallelTest::subtests_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ParallelTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 531
    functionName: test::grpc::Parallel::Parallel
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - test::grpc::Parallel::GetWeightSum
    - ParallelTest::subtests_size
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: "void Parallel(const ParallelTest &desc, Test::Stub *server_stub,\n
      \          CompletionQueue *cq,\n           std::function<void(bool, const TestResult
      &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParallelTest::subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:535,1
    - Dst: weight
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - desc
    argTypes:
    - ParallelTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 539
    functionName: test::grpc::Parallel::GetWeightSum
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 7
    functionsReached:
    - ParallelTest::subtests
    - weight
    linkageType: ''
    returnType: int
    signature: int GetWeightSum(const ParallelTest &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::Parallel::StartTestsLocked
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::shared_ptr<Parallel>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 3
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: test::grpc::Parallel::StartTests
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 7
    functionsReached:
    - test::grpc::Parallel::StartTestsLocked
    linkageType: ''
    returnType: void
    signature: void StartTests(std::shared_ptr<Parallel> p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Parallel>::desc_::parallel_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:547,1
    - Dst: std::shared_ptr<Parallel>::desc_::test_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:548,1
    - Dst: std::shared_ptr<Parallel>::NextSubtestType
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:555,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:557,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:561,1
    - Dst: SubtestStats::AddFailure
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:570,1
    - Dst: status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:570,1
    - Dst: SubtestStats::latencies::push_front
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:572,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:573,1
    - Dst: test::grpc::Parallel::StartTestsLocked
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:575,1
    - Dst: std::shared_ptr<Parallel>::desc_::test_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:576,1
    - Dst: std::shared_ptr<Parallel>::CalculateStats
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:577,1
    - Dst: std::shared_ptr<Parallel>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:578,1
    - Dst: std::shared_ptr<Parallel>::desc_::subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:582,1
    - Dst: auto::plan_case
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:583,1
    - Dst: test::grpc::Echo::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:585,1
    - Dst: auto::echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:585,1
    - Dst: test::grpc::EchoStream::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:589,1
    - Dst: auto::echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:589,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::shared_ptr<Parallel>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 546
    functionDepth: 2
    functionLinenumber: 546
    functionLinenumberEnd: 597
    functionName: test::grpc::Parallel::StartTestsLocked
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 14
    functionsReached:
    - SubtestStats::latencies::push_front
    - std::shared_ptr<Parallel>::CalculateStats
    - auto::plan_case
    - SubtestStats::AddFailure
    - std::shared_ptr<Parallel>::desc_::parallel_limit
    - std::shared_ptr<Parallel>::desc_::subtests
    - status
    - test::grpc::Parallel::StartTestsLocked
    - test::grpc::Echo::Start
    - std::shared_ptr<Parallel>::done_
    - auto::echo
    - test::grpc::EchoStream::Start
    - std::chrono::duration_cast<std::chrono::microseconds>
    - auto::echo_stream
    - std::shared_ptr<Parallel>::NextSubtestType
    - std::shared_ptr<Parallel>::desc_::test_count
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: void StartTestsLocked(std::shared_ptr<Parallel> p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:609,1
    - Dst: weight
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:610,1
    - Dst: weight
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 617
    functionName: test::grpc::Parallel::NextSubtestType
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - subtests
    - weight
    linkageType: ''
    returnType: int
    signature: int NextSubtestType()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mutable_parallel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:621,1
    - Dst: auto*::set_total_time_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:622,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:623,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:624,1
    - Dst: auto*::add_stats
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:629,1
    - Dst: ParallelSubtestStats*::set_succeeded_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:630,1
    - Dst: ParallelSubtestStats*::set_failed_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:631,1
    - Dst: count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:637,1
    - Dst: count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:643,1
    - Dst: std::sqrt
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:647,1
    - Dst: ParallelSubtestStats*::set_mean_latency_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:649,1
    - Dst: ParallelSubtestStats*::set_stddev_latency_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:650,1
    - Dst: second::Fill
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:653,1
    - Dst: ParallelSubtestStats*::add_failures
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:653,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:657,1
    - Dst: test_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:657,1
    - Dst: allowed_failure_rate
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:657,1
    - Dst: mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:658,1
    - Dst: mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 664
    functionName: test::grpc::Parallel::CalculateStats
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - second::Fill
    - mutable_parallel
    - std::sqrt
    - ParallelSubtestStats*::add_failures
    - ParallelSubtestStats*::set_failed_count
    - ParallelSubtestStats*::set_stddev_latency_micros
    - ParallelSubtestStats*::set_succeeded_count
    - count
    - static_cast<int>
    - auto*::add_stats
    - test_count
    - mutable_status
    - std::chrono::duration_cast<std::chrono::microseconds>
    - ParallelSubtestStats*::set_mean_latency_micros
    - allowed_failure_rate
    - auto*::set_total_time_micros
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: void CalculateStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - CallStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 670
    functionName: test::grpc::Parallel::AggregatedStatus::AggregatedStatus
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void AggregatedStatus(const CallStatus &status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 675
    functionName: test::grpc::Parallel::AggregatedStatus::Inc
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void Inc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AggregatedCallStatus*::set_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:678,1
    - Dst: AggregatedCallStatus*::set_start_time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:679,1
    - Dst: ctime
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:679,1
    - Dst: AggregatedCallStatus*::set_end_time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:680,1
    - Dst: ctime
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:680,1
    - Dst: AggregatedCallStatus*::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - call_status
    argTypes:
    - AggregatedCallStatus*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 682
    functionName: test::grpc::Parallel::AggregatedStatus::Fill
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - AggregatedCallStatus*::mutable_status
    - AggregatedCallStatus*::set_count
    - ctime
    - AggregatedCallStatus*::set_end_time
    - AggregatedCallStatus*::set_start_time
    linkageType: ''
    returnType: void
    signature: void Fill(AggregatedCallStatus *call_status) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetStatusAggregationKey
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:698,1
    - Dst: find
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:699,1
    - Dst: end
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:700,1
    - Dst: emplace
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:701,1
    - Dst: std::map<std::string, AggregatedStatus>::iterator::second::Inc
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - status
    argTypes:
    - CallStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 705
    functionName: test::grpc::Parallel::AddFailure
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::map<std::string, AggregatedStatus>::iterator::second::Inc
    - emplace
    - GetStatusAggregationKey
    - find
    - end
    linkageType: ''
    returnType: void
    signature: void AddFailure(const CallStatus &status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProbeCallLimit::ProbeCallLimit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:731,1
    - Dst: Test::Stub*::AsyncCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:733,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:736,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:737,1
    - Dst: std::shared_ptr::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:739,1
    - Dst: test::grpc::ProbeCallLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:742,1
    - Dst: test::grpc::ProbeCallLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:743,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ProbeCallLimitTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 727
    functionDepth: 2
    functionLinenumber: 727
    functionLinenumberEnd: 745
    functionName: test::grpc::ProbeCallLimit::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::done_
    - ProbeCallLimit::ProbeCallLimit
    - Test::Stub*::AsyncCork
    - test::grpc::ProbeCallLimit::StartProbe
    - test::grpc::ProbeCallLimit::StartReadCorkState
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const ProbeCallLimitTest &desc, Test::Stub *server_stub,\n
      \                   Test::Stub *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:752,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ProbeCallLimitTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 753
    functionName: test::grpc::ProbeCallLimit::ProbeCallLimit
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - CreateEchoRequestText
    - mutable_request
    linkageType: ''
    returnType: void
    signature: "void ProbeCallLimit(const ProbeCallLimitTest &desc, Test::Stub *server_stub,\n
      \                CompletionQueue *cq,\n                 std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:756,1
    - Dst: test::grpc::ProbeCallLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:766,1
    - Dst: std::shared_ptr<ProbeCallLimit>::alarm_::Cancel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:773,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeCallLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 776
    functionName: test::grpc::ProbeCallLimit::StartReadCorkState
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 14
    functionsReached:
    - test::grpc::ProbeCallLimit::StartReadCorkState
    - std::shared_ptr<ProbeCallLimit>::cork_rpc_::Read
    - Tag::Tag
    - std::shared_ptr<ProbeCallLimit>::alarm_::Cancel
    linkageType: ''
    returnType: void
    signature: void StartReadCorkState(std::shared_ptr<ProbeCallLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeCallLimit>::alarm_::reset
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:780,1
    - Dst: gpr_time_add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:782,1
    - Dst: gpr_now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:783,1
    - Dst: gpr_time_from_millis
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:784,1
    - Dst: std::shared_ptr<ProbeCallLimit>::desc_::timeout_ms
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:784,1
    - Dst: std::shared_ptr<ProbeCallLimit>::alarm_::reset
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:789,1
    - Dst: test::grpc::ProbeCallLimit::OnTimeout
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:790,1
    - Dst: test::grpc::ProbeCallLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:795,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:785,1
    - Dst: Alarm::Alarm
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:780,1
    - Dst: EchoResponse::EchoResponse
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:800,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:801,1
    - Dst: ClientContext::ClientContext
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:802,1
    - Dst: std::shared_ptr<ProbeCallLimit>::server_stub_::AsyncEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:804,1
    - Dst: std::shared_ptr<ProbeCallLimit>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:804,1
    - Dst: ClientAsyncResponseReader*::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:808,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeCallLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 818
    functionName: test::grpc::ProbeCallLimit::StartProbe
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 14
    functionsReached:
    - std::shared_ptr<ProbeCallLimit>::desc_::request
    - ClientAsyncResponseReader*::Finish
    - gpr_now
    - Alarm::Alarm
    - gpr_time_from_millis
    - std::shared_ptr<ProbeCallLimit>::alarm_::reset
    - std::shared_ptr<ProbeCallLimit>::server_stub_::AsyncEcho
    - test::grpc::ProbeCallLimit::OnTimeout
    - Status::Status
    - gpr_time_add
    - test::grpc::ProbeCallLimit::StartProbe
    - ClientContext::ClientContext
    - Tag::Tag
    - EchoResponse::EchoResponse
    - std::shared_ptr<ProbeCallLimit>::desc_::timeout_ms
    linkageType: ''
    returnType: void
    signature: void StartProbe(std::shared_ptr<ProbeCallLimit> pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_state_::current_corked_calls
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:823,1
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:825,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:826,1
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:827,1
    - Dst: TestResult::mutable_probe_call_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:831,1
    - Dst: std::shared_ptr<ProbeCallLimit>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:832,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:828,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeCallLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 835
    functionName: test::grpc::ProbeCallLimit::OnTimeout
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 7
    functionsReached:
    - std::shared_ptr<ProbeCallLimit>::cork_rpc_::WritesDone
    - TestResult::mutable_probe_call_limit
    - Status::Status
    - std::shared_ptr<ProbeCallLimit>::cork_rpc_::Finish
    - std::shared_ptr<ProbeCallLimit>::cork_state_::current_corked_calls
    - std::shared_ptr<ProbeCallLimit>::done_
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: void OnTimeout(std::shared_ptr<ProbeCallLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:864,1
    - Dst: Test::Stub*::AsyncCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:866,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:869,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:870,1
    - Dst: std::shared_ptr::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:872,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:875,1
    - Dst: std::shared_ptr::server_stub_::AsyncEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:876,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:878,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:879,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:877,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ProbeDownstreamMessageLimitTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 859
    functionDepth: 2
    functionLinenumber: 859
    functionLinenumberEnd: 882
    functionName: test::grpc::ProbeDownstreamMessageLimit::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::done_
    - test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
    - std::shared_ptr::server_stub_::AsyncEchoStream
    - Test::Stub*::AsyncCork
    - test::grpc::ProbeDownstreamMessageLimit::StartProbe
    - ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
    - test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const ProbeDownstreamMessageLimitTest &desc,\n                    Test::Stub
      *server_stub, Test::Stub *direct_stub,\n                    CompletionQueue
      *cq,\n                    std::function<void(bool, const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:889,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ProbeDownstreamMessageLimitTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 890
    functionName: test::grpc::ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - CreateEchoRequestText
    - mutable_request
    linkageType: ''
    returnType: void
    signature: "void ProbeDownstreamMessageLimit(\n      const ProbeDownstreamMessageLimitTest
      &desc, Test::Stub *server_stub,\n      CompletionQueue *cq, std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:894,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:898,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 900
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 14
    functionsReached:
    - test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
    - std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Read
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: "void StartReadCorkState(\n      std::shared_ptr<ProbeDownstreamMessageLimit>
      pc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:904,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:908,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 910
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 14
    functionsReached:
    - Tag::Tag
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Read
    - test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
    linkageType: ''
    returnType: void
    signature: "void StartReadStreamMessages(\n      std::shared_ptr<ProbeDownstreamMessageLimit>
      pc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Alarm>::shared_ptr<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:919,1
    - Dst: std::make_shared<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:920,1
    - Dst: gpr_time_add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:922,1
    - Dst: gpr_now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:923,1
    - Dst: gpr_time_from_millis
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:924,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::timeout_ms
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:924,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::OnTimeout
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:929,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:932,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:925,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:940,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:940,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:943,1
    - Dst: std::shared_ptr::Cancel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:952,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 954
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartProbe
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 14
    functionsReached:
    - std::make_shared<Alarm>
    - gpr_now
    - gpr_time_from_millis
    - std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::timeout_ms
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Write
    - test::grpc::ProbeDownstreamMessageLimit::OnTimeout
    - gpr_time_add
    - std::shared_ptr<Alarm>::shared_ptr<Alarm>
    - test::grpc::ProbeDownstreamMessageLimit::StartProbe
    - std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::request
    - Tag::Tag
    - test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
    - std::shared_ptr::Cancel
    linkageType: ''
    returnType: void
    signature: void StartProbe(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:960,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:961,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:962,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:965,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:962,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:960,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 956
    functionDepth: 2
    functionLinenumber: 956
    functionLinenumberEnd: 972
    functionName: test::grpc::ProbeDownstreamMessageLimit::OnTimeout
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 7
    functionsReached:
    - std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::WritesDone
    - std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Finish
    - test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
    - Status::Status
    - Tag::Tag
    - test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
    linkageType: ''
    returnType: void
    signature: void OnTimeout(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:975,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:976,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:977,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:980,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:977,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 983
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 14
    functionsReached:
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Finish
    - test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
    - Status::Status
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::WritesDone
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: void StartWritesDone(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TestResult::mutable_probe_downstream_message_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:991,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 994
    functionName: test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 14
    functionsReached:
    - TestResult::mutable_probe_downstream_message_limit
    - std::shared_ptr<ProbeDownstreamMessageLimit>::done_
    linkageType: ''
    returnType: void
    signature: void TryIssueReport(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1032,1
    - Dst: std::shared_ptr::server_stub_::AsyncEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1033,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1037,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1038,1
    - Dst: std::shared_ptr::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1040,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1043,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ProbeUpstreamMessageLimitTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1027
    functionDepth: 2
    functionLinenumber: 1027
    functionLinenumberEnd: 1045
    functionName: test::grpc::ProbeUpstreamMessageLimit::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::done_
    - ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
    - std::shared_ptr::server_stub_::AsyncEchoStream
    - test::grpc::ProbeUpstreamMessageLimit::StartProbe
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const ProbeUpstreamMessageLimitTest &desc,\n                    Test::Stub
      *server_stub, Test::Stub *direct_stub,\n                    CompletionQueue
      *cq,\n                    std::function<void(bool, const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1052,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ProbeUpstreamMessageLimitTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1053
    functionName: test::grpc::ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - CreateEchoRequestText
    - mutable_request
    linkageType: ''
    returnType: void
    signature: "void ProbeUpstreamMessageLimit(const ProbeUpstreamMessageLimitTest
      &desc,\n                            Test::Stub *server_stub, CompletionQueue
      *cq,\n                            std::function<void(bool, const TestResult
      &)> done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1059,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1063,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1065
    functionName: test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 13
    functionsReached:
    - Tag::Tag
    - test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Read
    linkageType: ''
    returnType: void
    signature: "void StartReadStreamMessages(\n      std::shared_ptr<ProbeUpstreamMessageLimit>
      pc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Alarm>::shared_ptr<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1074,1
    - Dst: std::make_shared<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1075,1
    - Dst: gpr_time_add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1077,1
    - Dst: gpr_now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1078,1
    - Dst: gpr_time_from_millis
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1079,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::timeout_ms
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1079,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::OnTimeout
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1084,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1087,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1080,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1095,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1095,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1098,1
    - Dst: std::shared_ptr::Cancel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1105,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1067
    functionDepth: 3
    functionLinenumber: 1067
    functionLinenumberEnd: 1107
    functionName: test::grpc::ProbeUpstreamMessageLimit::StartProbe
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 14
    functionsReached:
    - std::make_shared<Alarm>
    - gpr_now
    - std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::timeout_ms
    - gpr_time_from_millis
    - std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::request
    - gpr_time_add
    - test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
    - std::shared_ptr<Alarm>::shared_ptr<Alarm>
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Write
    - test::grpc::ProbeUpstreamMessageLimit::StartProbe
    - test::grpc::ProbeUpstreamMessageLimit::OnTimeout
    - Tag::Tag
    - std::shared_ptr::Cancel
    linkageType: ''
    returnType: void
    signature: void StartProbe(std::shared_ptr<ProbeUpstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1114,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1109
    functionDepth: 2
    functionLinenumber: 1109
    functionLinenumberEnd: 1119
    functionName: test::grpc::ProbeUpstreamMessageLimit::OnTimeout
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 7
    functionsReached:
    - test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
    - test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
    linkageType: ''
    returnType: void
    signature: void OnTimeout(std::shared_ptr<ProbeUpstreamMessageLimit> pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1122,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1123,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1124,1
    - Dst: TestResult::mutable_probe_upstream_message_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1128,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1130,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1125,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1133
    functionName: test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 14
    functionsReached:
    - TestResult::mutable_probe_upstream_message_limit
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Finish
    - Status::Status
    - std::shared_ptr<ProbeUpstreamMessageLimit>::done_
    - Tag::Tag
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::WritesDone
    linkageType: ''
    returnType: void
    signature: void StartWritesDone(std::shared_ptr<ProbeUpstreamMessageLimit> pc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TestPlans::server_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1153,1
    - Dst: test::grpc::GetStub
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1154,1
    - Dst: TestPlans::server_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1154,1
    - Dst: TestPlans::direct_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1156,1
    - Dst: test::grpc::GetStub
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1157,1
    - Dst: TestPlans::direct_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1157,1
    - Dst: test::grpc::Echo::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1162,1
    - Dst: std::unique_ptr::get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1162,1
    - Dst: get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1162,1
    - Dst: CompletionQueue::Shutdown
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1165,1
    - Dst: TestPlans::has_warmup
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1169,1
    - Dst: test::grpc::Echo::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: TestPlans::warmup
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: std::unique_ptr::get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: start_test
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1173,1
    - Dst: start_test
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1177,1
    - Dst: CompletionQueue::Next
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1183,1
    - Dst: reinterpret_cast<Tag *>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - plans
    - desc
    - result
    argTypes:
    - TestPlans
    - typename T::TestDesc
    - TestResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1149
    functionDepth: 1
    functionLinenumber: 1149
    functionLinenumberEnd: 1188
    functionName: test::grpc::RunSync
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 3
    functionsReached:
    - TestPlans::warmup
    - reinterpret_cast<Tag *>
    - std::unique_ptr::get
    - TestPlans::direct_addr
    - test::grpc::Echo::Start
    - start_test
    - TestPlans::has_warmup
    - TestPlans::server_addr
    - test::grpc::GetStub
    - get
    - CompletionQueue::Shutdown
    - CompletionQueue::Next
    linkageType: ''
    returnType: void
    signature: "void RunSync(const TestPlans &plans, const typename T::TestDesc &desc,\n
      \            TestResult *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InsecureChannelCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unused_desc
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 21
    functionsReached:
    - InsecureChannelCredentials
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const T &unused_desc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CallConfig::use_ssl
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:138,1
    - Dst: ::grpc::SslCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:140,1
    - Dst: InsecureChannelCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - call_config
    argTypes:
    - CallConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 21
    functionsReached:
    - CallConfig::use_ssl
    - InsecureChannelCredentials
    - ::grpc::SslCredentials
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const CallConfig &call_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:147,1
    - Dst: EchoTest::call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - EchoTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 22
    functionsReached:
    - test::grpc::GetCreds
    - EchoTest::call_config
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const EchoTest &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:152,1
    - Dst: EchoStreamTest::call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - desc
    argTypes:
    - EchoStreamTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 23
    functionsReached:
    - test::grpc::GetCreds
    - EchoStreamTest::call_config
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const EchoStreamTest &desc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ParallelTest::subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:157,1
    - Dst: auto::plan_case
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:158,1
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:160,1
    - Dst: auto::echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:160,1
    - Dst: test::grpc::GetCreds
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:162,1
    - Dst: auto::echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:162,1
    - Dst: InsecureChannelCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - desc
    argTypes:
    - ParallelTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: test::grpc::GetCreds
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 24
    functionsReached:
    - auto::plan_case
    - ParallelTest::subtests
    - test::grpc::GetCreds
    - InsecureChannelCredentials
    - auto::echo
    - auto::echo_stream
    linkageType: ''
    returnType: std::shared_ptr<ChannelCredentials>
    signature: std::shared_ptr<ChannelCredentials> GetCreds(const ParallelTest &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ChannelArguments::SetMaxReceiveMessageSize
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:173,1
    - Dst: ChannelArguments::SetMaxSendMessageSize
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:174,1
    - Dst: std::unique_ptr<Test::Stub>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:177,1
    - Dst: Test::NewStub
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - addr
    - desc
    argTypes:
    - std::string
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: test::grpc::GetStub
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 7
    functionsReached:
    - Test::NewStub
    - ChannelArguments::SetMaxSendMessageSize
    - std::unique_ptr<Test::Stub>
    - ChannelArguments::SetMaxReceiveMessageSize
    linkageType: ''
    returnType: std::unique_ptr<Test::Stub>
    signature: "std::unique_ptr<Test::Stub> GetStub(const std::string &addr,\n                                           const
      T &desc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CallConfig::api_key
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:181,1
    - Dst: ClientContext*::AddMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:182,1
    - Dst: CallConfig::api_key
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:182,1
    - Dst: CallConfig::auth_token
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:184,1
    - Dst: ClientContext*::AddMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:185,1
    - Dst: CallConfig::auth_token
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:185,1
    - Dst: CallConfig::metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:187,1
    - Dst: ClientContext*::AddMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:188,1
    - Dst: CallConfig::compression
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:190,1
    - Dst: ClientContext*::set_compression_algorithm
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:191,1
    - Dst: static_cast<grpc_compression_algorithm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:192,1
    - Dst: CallConfig::compression
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - call_config
    - ctx
    argTypes:
    - CallConfig
    - ClientContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: test::grpc::SetCallConfig
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - ClientContext*::set_compression_algorithm
    - ClientContext*::AddMetadata
    - CallConfig::auth_token
    - CallConfig::compression
    - CallConfig::api_key
    - CallConfig::metadata
    - static_cast<grpc_compression_algorithm>
    linkageType: ''
    returnType: void
    signature: void SetCallConfig(const CallConfig &call_config, ClientContext *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:202,1
    - Dst: first::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:202,1
    - Dst: first::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:202,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:203,1
    - Dst: second::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:203,1
    - Dst: second::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:203,1
    - Dst: T1::find
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:204,1
    - Dst: T1::end
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:204,1
    - Dst: T1::at
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:205,1
    - Dst: google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>*::Add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:208,1
    - Dst: auto*::set_key
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:209,1
    - Dst: auto*::set_expected
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:210,1
    - Dst: T1::at
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:210,1
    - Dst: auto*::set_actual
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - expected
    - actual
    - results
    argTypes:
    - T1
    - T2
    - google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 215
    functionName: test::grpc::VerifyMetadata
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - auto*::set_expected
    - first::data
    - auto*::set_key
    - first::size
    - auto*::set_actual
    - second::size
    - google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>*::Add
    - T1::end
    - second::data
    - T1::find
    - std::string
    - T1::at
    linkageType: ''
    returnType: int
    signature: "int VerifyMetadata(\n    const T1 &expected, const T2 &actual,\n    google::protobuf::RepeatedPtrField<EchoResult::MetadataResult>
      *results)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size_dist
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:223,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:225,1
    - Dst: byte_dist
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:229,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:231,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - max_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 232
    functionName: test::grpc::RandomString
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 7
    functionsReached:
    - std::string
    - reinterpret_cast<const char *>
    - byte_dist
    - size_dist
    linkageType: ''
    returnType: std::string
    signature: std::string RandomString(int max_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoRequest*::random_payload_max_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:235,1
    - Dst: EchoRequest*::set_text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:236,1
    - Dst: test::grpc::RandomString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:236,1
    - Dst: EchoRequest*::random_payload_max_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:236,1
    - Dst: EchoRequest*::space_payload_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:238,1
    - Dst: EchoRequest*::set_text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:239,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:239,1
    - Dst: EchoRequest*::space_payload_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - EchoRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 241
    functionName: test::grpc::CreateEchoRequestText
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - test::grpc::RandomString
    - EchoRequest*::set_text
    - EchoRequest*::space_payload_size
    - EchoRequest*::random_payload_max_size
    - std::string
    linkageType: ''
    returnType: void
    signature: void CreateEchoRequestText(EchoRequest *request)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CallStatus::details
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:244,1
    - Dst: test::grpc::JsonToProto
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:248,1
    - Dst: ::test::grpc::GrpcErrorDetail::SerializeToString
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:249,1
    - Dst: std::to_string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:251,1
    - Dst: CallStatus::code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - status
    argTypes:
    - CallStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 252
    functionName: test::grpc::GetStatusAggregationKey
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - ::test::grpc::GrpcErrorDetail::SerializeToString
    - CallStatus::details
    - CallStatus::code
    - std::to_string
    - test::grpc::JsonToProto
    linkageType: ''
    returnType: std::string
    signature: std::string GetStatusAggregationKey(const CallStatus &status)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Echo::Echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:261,1
    - Dst: Test::Stub*::AsyncEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:262,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:262,1
    - Dst: std::shared_ptr::rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:263,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:266,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:267,1
    - Dst: std::shared_ptr::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:267,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:268,1
    - Dst: std::shared_ptr::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:268,1
    - Dst: TestResult::mutable_echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:270,1
    - Dst: std::shared_ptr::response_::text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:270,1
    - Dst: std::shared_ptr::desc_::expected_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:275,1
    - Dst: std::shared_ptr::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:276,1
    - Dst: std::shared_ptr::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:277,1
    - Dst: std::shared_ptr::desc_::expected_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:278,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:280,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:281,1
    - Dst: std::shared_ptr::response_::text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:281,1
    - Dst: TestResult::mutable_echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:284,1
    - Dst: VerifyMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:286,1
    - Dst: std::shared_ptr::desc_::call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:287,1
    - Dst: std::shared_ptr::response_::received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:288,1
    - Dst: VerifyMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:289,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:290,1
    - Dst: std::shared_ptr::ctx_::GetServerInitialMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:291,1
    - Dst: VerifyMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:292,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:293,1
    - Dst: std::shared_ptr::ctx_::GetServerTrailingMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:294,1
    - Dst: TestResult::mutable_echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:295,1
    - Dst: auto*::size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:296,1
    - Dst: std::shared_ptr::desc_::expected_metadata_keys
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:299,1
    - Dst: std::shared_ptr::response_::received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:300,1
    - Dst: std::shared_ptr::response_::received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:301,1
    - Dst: TestResult::mutable_additional_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:302,1
    - Dst: done
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:305,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - EchoTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 307
    functionName: test::grpc::Echo::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 14
    functionsReached:
    - std::shared_ptr::response_::received_metadata
    - std::shared_ptr::ctx_::GetServerTrailingMetadata
    - std::shared_ptr::desc_::expected_metadata_keys
    - auto*::size
    - std::shared_ptr::desc_::call_config
    - TestResult::mutable_echo
    - std::shared_ptr::desc_::expected_status
    - std::shared_ptr::status_::error_message
    - TestResult::mutable_additional_metadata
    - std::shared_ptr::desc_::request
    - std::shared_ptr::response_::text
    - done
    - std::shared_ptr::ctx_::GetServerInitialMetadata
    - std::shared_ptr::status_::ok
    - VerifyMetadata
    - std::shared_ptr::rpc_::Finish
    - Test::Stub*::AsyncEcho
    - Echo::Echo
    - std::shared_ptr::status_::error_code
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const EchoTest &desc, Test::Stub *server_stub,\n                    Test::Stub
      *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetCallConfig
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:312,1
    - Dst: call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:312,1
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:313,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - desc
    - done
    argTypes:
    - EchoTest
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: test::grpc::Echo::Echo
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - call_config
    - CreateEchoRequestText
    - mutable_request
    - SetCallConfig
    linkageType: ''
    returnType: void
    signature: void Echo(const EchoTest &desc, std::function<void(bool, const TestResult
      &)> done)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoReport::EchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:331,1
    - Dst: Test::Stub*::AsyncEchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:333,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:333,1
    - Dst: std::shared_ptr::rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:334,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:337,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:338,1
    - Dst: std::shared_ptr::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:338,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:339,1
    - Dst: std::shared_ptr::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:339,1
    - Dst: TestResult::mutable_echo_report
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:342,1
    - Dst: std::shared_ptr::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:345,1
    - Dst: MessageDifferencer::Equals
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:346,1
    - Dst: std::shared_ptr::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:346,1
    - Dst: done
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:349,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - EchoReportTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 351
    functionName: test::grpc::EchoReport::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - MessageDifferencer::Equals
    - std::shared_ptr::rpc_::Finish
    - done
    - TestResult::mutable_echo_report
    - Test::Stub*::AsyncEchoReport
    - EchoReport::EchoReport
    - std::shared_ptr::status_::ok
    - std::shared_ptr::status_::error_message
    - std::shared_ptr::status_::error_code
    - Tag::Tag
    - std::shared_ptr::desc_::request
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const EchoReportTest &desc, Test::Stub *server_stub,\n
      \                   Test::Stub *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - desc
    - done
    argTypes:
    - EchoReportTest
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: test::grpc::EchoReport::EchoReport
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EchoReport(const EchoReportTest &desc,\n             std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EchoStream::EchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:373,1
    - Dst: Test::Stub*::AsyncEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:375,1
    - Dst: test::grpc::EchoStream::StartWrite
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:377,1
    - Dst: test::grpc::EchoStream::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:378,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:380,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - EchoStreamTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 383
    functionName: test::grpc::EchoStream::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 7
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - Test::Stub*::AsyncEchoStream
    - test::grpc::EchoStream::StartRead
    - EchoStream::EchoStream
    - test::grpc::EchoStream::StartWrite
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: "void Start(const EchoStreamTest &desc, Test::Stub *server_stub,\n
      \                   Test::Stub *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EchoStreamTest::count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:392,1
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:393,1
    - Dst: SetCallConfig
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:394,1
    - Dst: call_config
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:394,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:395,1
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - EchoStreamTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 398
    functionName: test::grpc::EchoStream::EchoStream
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - call_config
    - mutable_request
    - SetCallConfig
    - EchoStreamTest::count
    - time
    - CreateEchoRequestText
    linkageType: ''
    returnType: void
    signature: "void EchoStream(const EchoStreamTest &desc, Test::Stub *server_stub,\n
      \            CompletionQueue *cq,\n             std::function<void(bool, const
      TestResult &)> done)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<EchoStream>::desc_::request_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:409,1
    - Dst: std::shared_ptr<EchoStream>::desc_::request_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:410,1
    - Dst: std::shared_ptr<EchoStream>::desc_::expected_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:412,1
    - Dst: CallStatus::code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:413,1
    - Dst: Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: StatusCode
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: CallStatus::code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: CallStatus::details
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:416,1
    - Dst: std::shared_ptr<EchoStream>::rpc_::Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:418,1
    - Dst: std::shared_ptr<EchoStream>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:418,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:425,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:418,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 428
    functionName: test::grpc::EchoStream::StartWrite
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 15
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - CallStatus::details
    - std::shared_ptr<EchoStream>::desc_::expected_status
    - CallStatus::code
    - std::shared_ptr<EchoStream>::desc_::request_size
    - std::shared_ptr<EchoStream>::desc_::request
    - Status
    - std::shared_ptr<EchoStream>::rpc_::Write
    - Tag::Tag
    - StatusCode
    linkageType: ''
    returnType: void
    signature: "void StartWrite(std::shared_ptr<EchoStream> es,\n                         bool
      write_accounted_for = false)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<EchoResponse>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:431,1
    - Dst: std::shared_ptr<EchoStream>::rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:432,1
    - Dst: auto::get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:432,1
    - Dst: test::grpc::EchoStream::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:434,1
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:437,1
    - Dst: std::shared_ptr<EchoStream>::desc_::count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:439,1
    - Dst: std::shared_ptr<EchoStream>::desc_::count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:440,1
    - Dst: std::shared_ptr<EchoStream>::desc_::duration_in_sec
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:441,1
    - Dst: std::shared_ptr<EchoStream>::desc_::duration_in_sec
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:443,1
    - Dst: test::grpc::EchoStream::StartWrite
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:444,1
    - Dst: test::grpc::EchoStream::StartDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:446,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:450,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 453
    functionName: test::grpc::EchoStream::StartRead
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 16
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - std::shared_ptr<EchoStream>::desc_::count
    - std::shared_ptr<EchoStream>::desc_::duration_in_sec
    - std::make_shared<EchoResponse>
    - auto::get
    - test::grpc::EchoStream::StartRead
    - time
    - test::grpc::EchoStream::StartWrite
    - Tag::Tag
    - std::shared_ptr<EchoStream>::rpc_::Read
    - test::grpc::EchoStream::StartDone
    linkageType: ''
    returnType: void
    signature: void StartRead(std::shared_ptr<EchoStream> es)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<EchoStream>::rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:460,1
    - Dst: test::grpc::EchoStream::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:460,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: test::grpc::EchoStream::StartDone
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 8
    functionsReached:
    - test::grpc::EchoStream::StartFinish
    - Tag::Tag
    - std::shared_ptr<EchoStream>::rpc_::WritesDone
    linkageType: ''
    returnType: void
    signature: void StartDone(std::shared_ptr<EchoStream> es)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<EchoStream>::rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:468,1
    - Dst: std::shared_ptr<EchoStream>::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:471,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:472,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:472,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:473,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:473,1
    - Dst: TestResult::mutable_echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:476,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:478,1
    - Dst: std::shared_ptr<EchoStream>::status_expected_::error_code
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:478,1
    - Dst: std::shared_ptr<EchoStream>::status_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:482,1
    - Dst: std::shared_ptr<EchoStream>::status_expected_::error_message
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:483,1
    - Dst: std::shared_ptr<EchoStream>::status_::ok
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:484,1
    - Dst: std::shared_ptr<EchoStream>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:488,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - es
    argTypes:
    - std::shared_ptr<EchoStream>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 490
    functionName: test::grpc::EchoStream::StartFinish
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 32
    functionsReached:
    - TestResult::mutable_echo_stream
    - std::shared_ptr<EchoStream>::status_expected_::error_code
    - std::shared_ptr<EchoStream>::status_::error_message
    - std::shared_ptr<EchoStream>::done_
    - std::shared_ptr<EchoStream>::rpc_::Finish
    - std::shared_ptr<EchoStream>::status_::ok
    - std::shared_ptr<EchoStream>::status_expected_::error_message
    - std::shared_ptr<EchoStream>::status_::error_code
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: void StartFinish(std::shared_ptr<EchoStream> es)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Parallel::Parallel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:517,1
    - Dst: test::grpc::Parallel::StartTests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ParallelTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: test::grpc::Parallel::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - Parallel::Parallel
    - test::grpc::Parallel::StartTests
    linkageType: ''
    returnType: void
    signature: "void Start(const ParallelTest &desc, Test::Stub *server_stub,\n                    Test::Stub
      *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::Parallel::GetWeightSum
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:529,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:530,1
    - Dst: ParallelTest::subtests_size
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ParallelTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 531
    functionName: test::grpc::Parallel::Parallel
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - test::grpc::Parallel::GetWeightSum
    - ParallelTest::subtests_size
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: "void Parallel(const ParallelTest &desc, Test::Stub *server_stub,\n
      \          CompletionQueue *cq,\n           std::function<void(bool, const TestResult
      &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParallelTest::subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:535,1
    - Dst: weight
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - desc
    argTypes:
    - ParallelTest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 539
    functionName: test::grpc::Parallel::GetWeightSum
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 8
    functionsReached:
    - ParallelTest::subtests
    - weight
    linkageType: ''
    returnType: int
    signature: int GetWeightSum(const ParallelTest &desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::Parallel::StartTestsLocked
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::shared_ptr<Parallel>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 3
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: test::grpc::Parallel::StartTests
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 8
    functionsReached:
    - test::grpc::Parallel::StartTestsLocked
    linkageType: ''
    returnType: void
    signature: void StartTests(std::shared_ptr<Parallel> p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Parallel>::desc_::parallel_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:547,1
    - Dst: std::shared_ptr<Parallel>::desc_::test_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:548,1
    - Dst: std::shared_ptr<Parallel>::NextSubtestType
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:555,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:557,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:561,1
    - Dst: SubtestStats::AddFailure
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:570,1
    - Dst: status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:570,1
    - Dst: SubtestStats::latencies::push_front
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:572,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:573,1
    - Dst: test::grpc::Parallel::StartTestsLocked
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:575,1
    - Dst: std::shared_ptr<Parallel>::desc_::test_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:576,1
    - Dst: std::shared_ptr<Parallel>::CalculateStats
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:577,1
    - Dst: std::shared_ptr<Parallel>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:578,1
    - Dst: std::shared_ptr<Parallel>::desc_::subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:582,1
    - Dst: auto::plan_case
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:583,1
    - Dst: test::grpc::Echo::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:585,1
    - Dst: auto::echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:585,1
    - Dst: test::grpc::EchoStream::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:589,1
    - Dst: auto::echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:589,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - p
    argTypes:
    - std::shared_ptr<Parallel>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 546
    functionDepth: 2
    functionLinenumber: 546
    functionLinenumberEnd: 597
    functionName: test::grpc::Parallel::StartTestsLocked
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 16
    functionsReached:
    - SubtestStats::latencies::push_front
    - std::shared_ptr<Parallel>::CalculateStats
    - auto::plan_case
    - SubtestStats::AddFailure
    - std::shared_ptr<Parallel>::desc_::parallel_limit
    - std::shared_ptr<Parallel>::desc_::subtests
    - status
    - test::grpc::Parallel::StartTestsLocked
    - test::grpc::Echo::Start
    - std::shared_ptr<Parallel>::done_
    - auto::echo
    - test::grpc::EchoStream::Start
    - std::chrono::duration_cast<std::chrono::microseconds>
    - auto::echo_stream
    - std::shared_ptr<Parallel>::NextSubtestType
    - std::shared_ptr<Parallel>::desc_::test_count
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: void StartTestsLocked(std::shared_ptr<Parallel> p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: subtests
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:609,1
    - Dst: weight
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:610,1
    - Dst: weight
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 617
    functionName: test::grpc::Parallel::NextSubtestType
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - subtests
    - weight
    linkageType: ''
    returnType: int
    signature: int NextSubtestType()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mutable_parallel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:621,1
    - Dst: auto*::set_total_time_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:622,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:623,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:624,1
    - Dst: auto*::add_stats
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:629,1
    - Dst: ParallelSubtestStats*::set_succeeded_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:630,1
    - Dst: ParallelSubtestStats*::set_failed_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:631,1
    - Dst: count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:637,1
    - Dst: count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:643,1
    - Dst: std::sqrt
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:647,1
    - Dst: ParallelSubtestStats*::set_mean_latency_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:649,1
    - Dst: ParallelSubtestStats*::set_stddev_latency_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:650,1
    - Dst: second::Fill
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:653,1
    - Dst: ParallelSubtestStats*::add_failures
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:653,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:657,1
    - Dst: test_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:657,1
    - Dst: allowed_failure_rate
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:657,1
    - Dst: mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:658,1
    - Dst: mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 664
    functionName: test::grpc::Parallel::CalculateStats
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - second::Fill
    - mutable_parallel
    - std::sqrt
    - ParallelSubtestStats*::add_failures
    - ParallelSubtestStats*::set_failed_count
    - ParallelSubtestStats*::set_stddev_latency_micros
    - ParallelSubtestStats*::set_succeeded_count
    - count
    - static_cast<int>
    - auto*::add_stats
    - test_count
    - mutable_status
    - std::chrono::duration_cast<std::chrono::microseconds>
    - ParallelSubtestStats*::set_mean_latency_micros
    - allowed_failure_rate
    - auto*::set_total_time_micros
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: void CalculateStats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - CallStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 670
    functionName: test::grpc::Parallel::AggregatedStatus::AggregatedStatus
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 4
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void AggregatedStatus(const CallStatus &status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 675
    functionName: test::grpc::Parallel::AggregatedStatus::Inc
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: void
    signature: void Inc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AggregatedCallStatus*::set_count
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:678,1
    - Dst: AggregatedCallStatus*::set_start_time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:679,1
    - Dst: ctime
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:679,1
    - Dst: AggregatedCallStatus*::set_end_time
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:680,1
    - Dst: ctime
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:680,1
    - Dst: AggregatedCallStatus*::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - call_status
    argTypes:
    - AggregatedCallStatus*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 682
    functionName: test::grpc::Parallel::AggregatedStatus::Fill
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - AggregatedCallStatus*::mutable_status
    - AggregatedCallStatus*::set_count
    - ctime
    - AggregatedCallStatus*::set_end_time
    - AggregatedCallStatus*::set_start_time
    linkageType: ''
    returnType: void
    signature: void Fill(AggregatedCallStatus *call_status) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetStatusAggregationKey
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:698,1
    - Dst: find
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:699,1
    - Dst: end
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:700,1
    - Dst: emplace
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:701,1
    - Dst: std::map<std::string, AggregatedStatus>::iterator::second::Inc
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - status
    argTypes:
    - CallStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 705
    functionName: test::grpc::Parallel::AddFailure
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::map<std::string, AggregatedStatus>::iterator::second::Inc
    - emplace
    - GetStatusAggregationKey
    - find
    - end
    linkageType: ''
    returnType: void
    signature: void AddFailure(const CallStatus &status)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProbeCallLimit::ProbeCallLimit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:731,1
    - Dst: Test::Stub*::AsyncCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:733,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:736,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:737,1
    - Dst: std::shared_ptr::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:739,1
    - Dst: test::grpc::ProbeCallLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:742,1
    - Dst: test::grpc::ProbeCallLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:743,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ProbeCallLimitTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 727
    functionDepth: 2
    functionLinenumber: 727
    functionLinenumberEnd: 745
    functionName: test::grpc::ProbeCallLimit::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::done_
    - ProbeCallLimit::ProbeCallLimit
    - Test::Stub*::AsyncCork
    - test::grpc::ProbeCallLimit::StartProbe
    - test::grpc::ProbeCallLimit::StartReadCorkState
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const ProbeCallLimitTest &desc, Test::Stub *server_stub,\n
      \                   Test::Stub *direct_stub, CompletionQueue *cq,\n                    std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:752,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ProbeCallLimitTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 753
    functionName: test::grpc::ProbeCallLimit::ProbeCallLimit
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - CreateEchoRequestText
    - mutable_request
    linkageType: ''
    returnType: void
    signature: "void ProbeCallLimit(const ProbeCallLimitTest &desc, Test::Stub *server_stub,\n
      \                CompletionQueue *cq,\n                 std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:756,1
    - Dst: test::grpc::ProbeCallLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:766,1
    - Dst: std::shared_ptr<ProbeCallLimit>::alarm_::Cancel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:773,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeCallLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 776
    functionName: test::grpc::ProbeCallLimit::StartReadCorkState
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 16
    functionsReached:
    - test::grpc::ProbeCallLimit::StartReadCorkState
    - std::shared_ptr<ProbeCallLimit>::cork_rpc_::Read
    - Tag::Tag
    - std::shared_ptr<ProbeCallLimit>::alarm_::Cancel
    linkageType: ''
    returnType: void
    signature: void StartReadCorkState(std::shared_ptr<ProbeCallLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeCallLimit>::alarm_::reset
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:780,1
    - Dst: gpr_time_add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:782,1
    - Dst: gpr_now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:783,1
    - Dst: gpr_time_from_millis
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:784,1
    - Dst: std::shared_ptr<ProbeCallLimit>::desc_::timeout_ms
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:784,1
    - Dst: std::shared_ptr<ProbeCallLimit>::alarm_::reset
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:789,1
    - Dst: test::grpc::ProbeCallLimit::OnTimeout
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:790,1
    - Dst: test::grpc::ProbeCallLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:795,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:785,1
    - Dst: Alarm::Alarm
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:780,1
    - Dst: EchoResponse::EchoResponse
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:800,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:801,1
    - Dst: ClientContext::ClientContext
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:802,1
    - Dst: std::shared_ptr<ProbeCallLimit>::server_stub_::AsyncEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:804,1
    - Dst: std::shared_ptr<ProbeCallLimit>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:804,1
    - Dst: ClientAsyncResponseReader*::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:808,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeCallLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 818
    functionName: test::grpc::ProbeCallLimit::StartProbe
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 16
    functionsReached:
    - std::shared_ptr<ProbeCallLimit>::desc_::request
    - ClientAsyncResponseReader*::Finish
    - gpr_now
    - Alarm::Alarm
    - gpr_time_from_millis
    - std::shared_ptr<ProbeCallLimit>::alarm_::reset
    - std::shared_ptr<ProbeCallLimit>::server_stub_::AsyncEcho
    - test::grpc::ProbeCallLimit::OnTimeout
    - Status::Status
    - gpr_time_add
    - test::grpc::ProbeCallLimit::StartProbe
    - ClientContext::ClientContext
    - Tag::Tag
    - EchoResponse::EchoResponse
    - std::shared_ptr<ProbeCallLimit>::desc_::timeout_ms
    linkageType: ''
    returnType: void
    signature: void StartProbe(std::shared_ptr<ProbeCallLimit> pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_state_::current_corked_calls
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:823,1
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:825,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:826,1
    - Dst: std::shared_ptr<ProbeCallLimit>::cork_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:827,1
    - Dst: TestResult::mutable_probe_call_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:831,1
    - Dst: std::shared_ptr<ProbeCallLimit>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:832,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:828,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeCallLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 835
    functionName: test::grpc::ProbeCallLimit::OnTimeout
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 8
    functionsReached:
    - std::shared_ptr<ProbeCallLimit>::cork_rpc_::WritesDone
    - TestResult::mutable_probe_call_limit
    - Status::Status
    - std::shared_ptr<ProbeCallLimit>::cork_rpc_::Finish
    - std::shared_ptr<ProbeCallLimit>::cork_state_::current_corked_calls
    - std::shared_ptr<ProbeCallLimit>::done_
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: void OnTimeout(std::shared_ptr<ProbeCallLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:864,1
    - Dst: Test::Stub*::AsyncCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:866,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:869,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:870,1
    - Dst: std::shared_ptr::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:872,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:875,1
    - Dst: std::shared_ptr::server_stub_::AsyncEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:876,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:878,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:879,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:877,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ProbeDownstreamMessageLimitTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 859
    functionDepth: 2
    functionLinenumber: 859
    functionLinenumberEnd: 882
    functionName: test::grpc::ProbeDownstreamMessageLimit::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::done_
    - test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
    - std::shared_ptr::server_stub_::AsyncEchoStream
    - Test::Stub*::AsyncCork
    - test::grpc::ProbeDownstreamMessageLimit::StartProbe
    - ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
    - test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const ProbeDownstreamMessageLimitTest &desc,\n                    Test::Stub
      *server_stub, Test::Stub *direct_stub,\n                    CompletionQueue
      *cq,\n                    std::function<void(bool, const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:889,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ProbeDownstreamMessageLimitTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 890
    functionName: test::grpc::ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - CreateEchoRequestText
    - mutable_request
    linkageType: ''
    returnType: void
    signature: "void ProbeDownstreamMessageLimit(\n      const ProbeDownstreamMessageLimitTest
      &desc, Test::Stub *server_stub,\n      CompletionQueue *cq, std::function<void(bool,
      const TestResult &)> done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:894,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:898,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 900
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 16
    functionsReached:
    - test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
    - std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Read
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: "void StartReadCorkState(\n      std::shared_ptr<ProbeDownstreamMessageLimit>
      pc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:904,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:908,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 910
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 16
    functionsReached:
    - Tag::Tag
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Read
    - test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
    linkageType: ''
    returnType: void
    signature: "void StartReadStreamMessages(\n      std::shared_ptr<ProbeDownstreamMessageLimit>
      pc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Alarm>::shared_ptr<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:919,1
    - Dst: std::make_shared<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:920,1
    - Dst: gpr_time_add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:922,1
    - Dst: gpr_now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:923,1
    - Dst: gpr_time_from_millis
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:924,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::timeout_ms
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:924,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::OnTimeout
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:929,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:932,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:925,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:940,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:940,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:943,1
    - Dst: std::shared_ptr::Cancel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:952,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 912
    functionDepth: 2
    functionLinenumber: 912
    functionLinenumberEnd: 954
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartProbe
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 16
    functionsReached:
    - std::make_shared<Alarm>
    - gpr_now
    - gpr_time_from_millis
    - std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::timeout_ms
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Write
    - test::grpc::ProbeDownstreamMessageLimit::OnTimeout
    - gpr_time_add
    - std::shared_ptr<Alarm>::shared_ptr<Alarm>
    - test::grpc::ProbeDownstreamMessageLimit::StartProbe
    - std::shared_ptr<ProbeDownstreamMessageLimit>::desc_::request
    - Tag::Tag
    - test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
    - std::shared_ptr::Cancel
    linkageType: ''
    returnType: void
    signature: void StartProbe(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:960,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:961,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:962,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:965,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:962,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:960,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 956
    functionDepth: 2
    functionLinenumber: 956
    functionLinenumberEnd: 972
    functionName: test::grpc::ProbeDownstreamMessageLimit::OnTimeout
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 8
    functionsReached:
    - std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::WritesDone
    - std::shared_ptr<ProbeDownstreamMessageLimit>::cork_rpc_::Finish
    - test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
    - Status::Status
    - Tag::Tag
    - test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
    linkageType: ''
    returnType: void
    signature: void OnTimeout(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:975,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:976,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:977,1
    - Dst: test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:980,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:977,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 983
    functionName: test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 16
    functionsReached:
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::Finish
    - test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
    - Status::Status
    - std::shared_ptr<ProbeDownstreamMessageLimit>::stream_rpc_::WritesDone
    - Tag::Tag
    linkageType: ''
    returnType: void
    signature: void StartWritesDone(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TestResult::mutable_probe_downstream_message_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:991,1
    - Dst: std::shared_ptr<ProbeDownstreamMessageLimit>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeDownstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 994
    functionName: test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 16
    functionsReached:
    - TestResult::mutable_probe_downstream_message_limit
    - std::shared_ptr<ProbeDownstreamMessageLimit>::done_
    linkageType: ''
    returnType: void
    signature: void TryIssueReport(std::shared_ptr<ProbeDownstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1032,1
    - Dst: std::shared_ptr::server_stub_::AsyncEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1033,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1037,1
    - Dst: TestResult::mutable_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1038,1
    - Dst: std::shared_ptr::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1040,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1043,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - desc
    - server_stub
    - direct_stub
    - cq
    - done
    argTypes:
    - ProbeUpstreamMessageLimitTest
    - Test::Stub*
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1027
    functionDepth: 2
    functionLinenumber: 1027
    functionLinenumberEnd: 1045
    functionName: test::grpc::ProbeUpstreamMessageLimit::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - std::shared_ptr::done_
    - ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
    - std::shared_ptr::server_stub_::AsyncEchoStream
    - test::grpc::ProbeUpstreamMessageLimit::StartProbe
    - Tag::Tag
    - TestResult::mutable_status
    linkageType: ''
    returnType: void
    signature: "void Start(const ProbeUpstreamMessageLimitTest &desc,\n                    Test::Stub
      *server_stub, Test::Stub *direct_stub,\n                    CompletionQueue
      *cq,\n                    std::function<void(bool, const TestResult &)> done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateEchoRequestText
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1052,1
    - Dst: mutable_request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - desc
    - server_stub
    - cq
    - done
    argTypes:
    - ProbeUpstreamMessageLimitTest
    - Test::Stub*
    - CompletionQueue*
    - std::function<void(bool, const TestResult &)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1053
    functionName: test::grpc::ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 0
    functionsReached:
    - CreateEchoRequestText
    - mutable_request
    linkageType: ''
    returnType: void
    signature: "void ProbeUpstreamMessageLimit(const ProbeUpstreamMessageLimitTest
      &desc,\n                            Test::Stub *server_stub, CompletionQueue
      *cq,\n                            std::function<void(bool, const TestResult
      &)> done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1059,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1063,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1065
    functionName: test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 15
    functionsReached:
    - Tag::Tag
    - test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Read
    linkageType: ''
    returnType: void
    signature: "void StartReadStreamMessages(\n      std::shared_ptr<ProbeUpstreamMessageLimit>
      pc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<Alarm>::shared_ptr<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1074,1
    - Dst: std::make_shared<Alarm>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1075,1
    - Dst: gpr_time_add
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1077,1
    - Dst: gpr_now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1078,1
    - Dst: gpr_time_from_millis
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1079,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::timeout_ms
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1079,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::OnTimeout
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1084,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartProbe
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1087,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1080,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1095,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::request
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1095,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1098,1
    - Dst: std::shared_ptr::Cancel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1105,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1067
    functionDepth: 3
    functionLinenumber: 1067
    functionLinenumberEnd: 1107
    functionName: test::grpc::ProbeUpstreamMessageLimit::StartProbe
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 16
    functionsReached:
    - std::make_shared<Alarm>
    - gpr_now
    - std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::timeout_ms
    - gpr_time_from_millis
    - std::shared_ptr<ProbeUpstreamMessageLimit>::desc_::request
    - gpr_time_add
    - test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
    - std::shared_ptr<Alarm>::shared_ptr<Alarm>
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Write
    - test::grpc::ProbeUpstreamMessageLimit::StartProbe
    - test::grpc::ProbeUpstreamMessageLimit::OnTimeout
    - Tag::Tag
    - std::shared_ptr::Cancel
    linkageType: ''
    returnType: void
    signature: void StartProbe(std::shared_ptr<ProbeUpstreamMessageLimit> pc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1114,1
    - Dst: test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1109
    functionDepth: 2
    functionLinenumber: 1109
    functionLinenumberEnd: 1119
    functionName: test::grpc::ProbeUpstreamMessageLimit::OnTimeout
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 8
    functionsReached:
    - test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
    - test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
    linkageType: ''
    returnType: void
    signature: void OnTimeout(std::shared_ptr<ProbeUpstreamMessageLimit> pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::WritesDone
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1122,1
    - Dst: Status::Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1123,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1124,1
    - Dst: TestResult::mutable_probe_upstream_message_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1128,1
    - Dst: std::shared_ptr<ProbeUpstreamMessageLimit>::done_
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1130,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1125,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pc
    argTypes:
    - std::shared_ptr<ProbeUpstreamMessageLimit>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1133
    functionName: test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 16
    functionsReached:
    - TestResult::mutable_probe_upstream_message_limit
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::Finish
    - Status::Status
    - std::shared_ptr<ProbeUpstreamMessageLimit>::done_
    - Tag::Tag
    - std::shared_ptr<ProbeUpstreamMessageLimit>::stream_rpc_::WritesDone
    linkageType: ''
    returnType: void
    signature: void StartWritesDone(std::shared_ptr<ProbeUpstreamMessageLimit> pc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TestPlans::server_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1153,1
    - Dst: test::grpc::GetStub
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1154,1
    - Dst: TestPlans::server_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1154,1
    - Dst: TestPlans::direct_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1156,1
    - Dst: test::grpc::GetStub
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1157,1
    - Dst: TestPlans::direct_addr
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1157,1
    - Dst: test::grpc::Echo::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1162,1
    - Dst: std::unique_ptr::get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1162,1
    - Dst: get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1162,1
    - Dst: CompletionQueue::Shutdown
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1165,1
    - Dst: TestPlans::has_warmup
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1169,1
    - Dst: test::grpc::Echo::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: TestPlans::warmup
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: std::unique_ptr::get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1170,1
    - Dst: start_test
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1173,1
    - Dst: start_test
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1177,1
    - Dst: CompletionQueue::Next
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1183,1
    - Dst: reinterpret_cast<Tag *>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - plans
    - desc
    - result
    argTypes:
    - TestPlans
    - typename T::TestDesc
    - TestResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1149
    functionDepth: 1
    functionLinenumber: 1149
    functionLinenumberEnd: 1188
    functionName: test::grpc::RunSync
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 3
    functionsReached:
    - TestPlans::warmup
    - reinterpret_cast<Tag *>
    - std::unique_ptr::get
    - TestPlans::direct_addr
    - test::grpc::Echo::Start
    - start_test
    - TestPlans::has_warmup
    - TestPlans::server_addr
    - test::grpc::GetStub
    - get
    - CompletionQueue::Shutdown
    - CompletionQueue::Next
    linkageType: ''
    returnType: void
    signature: "void RunSync(const TestPlans &plans, const typename T::TestDesc &desc,\n
      \            TestResult *result)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TestPlans::plans
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1193,1
    - Dst: TestResults*::add_results
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1194,1
    - Dst: plan_case
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1196,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1198,1
    - Dst: echo
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1198,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1201,1
    - Dst: echo_stream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1201,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1204,1
    - Dst: parallel
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1204,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1207,1
    - Dst: probe_call_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1207,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1210,1
    - Dst: probe_downstream_message_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1211,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1214,1
    - Dst: probe_upstream_message_limit
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1215,1
    - Dst: test::grpc::RunSync
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1218,1
    - Dst: echo_report
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1218,1
    - Dst: std::abort
      Src: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc:1222,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - plans
    - results
    argTypes:
    - TestPlans
    - TestResults*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1192
    functionDepth: 2
    functionLinenumber: 1192
    functionLinenumberEnd: 1225
    functionName: test::grpc::RunTestPlans
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    functionUses: 1
    functionsReached:
    - echo
    - test::grpc::RunSync
    - probe_upstream_message_limit
    - echo_stream
    - parallel
    - probe_downstream_message_limit
    - probe_call_limit
    - plan_case
    - TestPlans::plans
    - echo_report
    - TestResults*::add_results
    - std::abort
    linkageType: ''
    returnType: void
    signature: void RunTestPlans(const TestPlans &plans, TestResults *results)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void *>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:44,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - continuation
    argTypes:
    - std::function<void(bool)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: test::grpc::MakeTag
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - Tag::Tag
    - reinterpret_cast<void *>
    linkageType: ''
    returnType: void
    signature: void *MakeTag(std::function<void(bool)> continuation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~CorkableCall()
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CorkableCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: test::grpc::TestServer::completion_queue
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: ServerCompletionQueue
    signature: ServerCompletionQueue *completion_queue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '&pending_calls()'
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::set<CorkableCall *>
    signature: std::set<CorkableCall *> &pending_calls()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: test::grpc::TestServer::clear_pending_cork
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void clear_pending_cork()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - test_server
    argTypes:
    - TestServer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: test::grpc::EchoCall::EchoCall
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EchoCall(TestServer *test_server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RequestEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:89,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:90,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: test::grpc::EchoCall::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - completion_queue
    - RequestEcho
    linkageType: ''
    returnType: void
    signature: void Start(void *tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:95,1
    - Dst: text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:95,1
    - Dst: mutable_received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:96,1
    - Dst: client_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:97,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:98,1
    - Dst: first::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:98,1
    - Dst: first::length
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:98,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:99,1
    - Dst: second::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:99,1
    - Dst: second::length
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:99,1
    - Dst: sleep
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:103,1
    - Dst: response_delay
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:103,1
    - Dst: return_initial_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:105,1
    - Dst: AddInitialMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:106,1
    - Dst: return_trailing_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:108,1
    - Dst: AddTrailingMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:109,1
    - Dst: Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:111,1
    - Dst: Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:112,1
    - Dst: StatusCode
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:112,1
    - Dst: return_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:112,1
    - Dst: return_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:113,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 115
    functionName: test::grpc::EchoCall::RunToCompletion
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - mutable_received_metadata
    - MakeTag
    - Finish
    - return_initial_metadata
    - second::length
    - Status
    - client_metadata
    - AddTrailingMetadata
    - first::data
    - response_delay
    - text
    - return_trailing_metadata
    - AddInitialMetadata
    - sleep
    - return_status
    - set_text
    - second::data
    - std::string
    - StatusCode
    - first::length
    linkageType: ''
    returnType: void
    signature: void RunToCompletion() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - test_server
    argTypes:
    - TestServer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: test::grpc::EchoReportCall::EchoReportCall
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EchoReportCall(TestServer *test_server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RequestEchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:131,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:132,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: test::grpc::EchoReportCall::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - completion_queue
    - RequestEchoReport
    linkageType: ''
    returnType: void
    signature: void Start(void *tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:139,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: test::grpc::EchoReportCall::RunToCompletion
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - Finish
    - MakeTag
    linkageType: ''
    returnType: void
    signature: void RunToCompletion() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - test_server
    argTypes:
    - TestServer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: test::grpc::EchoStreamCall::EchoStreamCall
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EchoStreamCall(TestServer *test_server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RequestEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:157,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:158,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: test::grpc::EchoStreamCall::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - completion_queue
    - RequestEchoStream
    linkageType: ''
    returnType: void
    signature: void Start(void *tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:163,1
    - Dst: test::grpc::EchoStreamCall::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: test::grpc::EchoStreamCall::RunToCompletion
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - test::grpc::EchoStreamCall::StartRead
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: void RunToCompletion() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:169,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:169,1
    - Dst: test::grpc::EchoStreamCall::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:171,1
    - Dst: return_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:172,1
    - Dst: test::grpc::EchoStreamCall::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:173,1
    - Dst: test::grpc::EchoStreamCall::StartWrite
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: test::grpc::EchoStreamCall::StartRead
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 1
    functionsReached:
    - test::grpc::EchoStreamCall::StartFinish
    - test::grpc::EchoStreamCall::StartWrite
    - Read
    - return_status
    - MakeTag
    linkageType: ''
    returnType: void
    signature: void StartRead()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sleep
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:182,1
    - Dst: response_delay
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:182,1
    - Dst: set_text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:184,1
    - Dst: text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:184,1
    - Dst: set_elapsed_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:185,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:186,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:187,1
    - Dst: Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:189,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:189,1
    - Dst: test::grpc::EchoStreamCall::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:191,1
    - Dst: test::grpc::EchoStreamCall::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 196
    functionName: test::grpc::EchoStreamCall::StartWrite
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 1
    functionsReached:
    - text
    - test::grpc::EchoStreamCall::StartFinish
    - response_delay
    - MakeTag
    - Write
    - test::grpc::EchoStreamCall::StartRead
    - set_elapsed_micros
    - std::chrono::duration_cast<std::chrono::microseconds>
    - set_text
    - sleep
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: void StartWrite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:199,1
    - Dst: Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:199,1
    - Dst: StatusCode
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:199,1
    - Dst: return_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:199,1
    - Dst: return_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:200,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: test::grpc::EchoStreamCall::StartFinish
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 2
    functionsReached:
    - MakeTag
    - return_status
    - Finish
    - Status
    - StatusCode
    linkageType: ''
    returnType: void
    signature: void StartFinish()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - test_server
    argTypes:
    - TestServer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: test::grpc::CorkCall::CorkCall
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CorkCall(TestServer *test_server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RequestCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:218,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:219,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: test::grpc::CorkCall::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - completion_queue
    - RequestCork
    linkageType: ''
    returnType: void
    signature: void Start(void *tag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shared_from_this
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:227,1
    - Dst: Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:228,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:228,1
    - Dst: std::shared_ptr::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:230,1
    - Dst: std::shared_ptr::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 236
    functionName: test::grpc::CorkCall::StartRead
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - shared_from_this
    - std::shared_ptr::StartFinish
    - Read
    - MakeTag
    - std::shared_ptr::StartRead
    linkageType: ''
    returnType: void
    signature: void StartRead()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shared_from_this
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:242,1
    - Dst: CorkState::CorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:243,1
    - Dst: CorkState*::set_current_corked_calls
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:244,1
    - Dst: pending_calls
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:244,1
    - Dst: Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:245,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:245,1
    - Dst: std::shared_ptr::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:248,1
    - Dst: Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 252
    functionName: test::grpc::CorkCall::ReportState
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - shared_from_this
    - std::shared_ptr::StartFinish
    - MakeTag
    - CorkState::CorkState
    - Write
    - Status
    - pending_calls
    - CorkState*::set_current_corked_calls
    linkageType: ''
    returnType: void
    signature: void ReportState()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shared_from_this
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:259,1
    - Dst: Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:260,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:260,1
    - Dst: Uncork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: test::grpc::CorkCall::StartFinish
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - Uncork
    - shared_from_this
    - MakeTag
    - Finish
    linkageType: ''
    returnType: void
    signature: void StartFinish(Status status = Status::OK)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:276,1
    - Dst: reset
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:277,1
    - Dst: std::set::swap
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:279,1
    - Dst: RunToCompletion
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: test::grpc::TestServer::Uncork
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - reset
    - std::set::swap
    - StartFinish
    - RunToCompletion
    linkageType: ''
    returnType: void
    signature: void TestServer::Uncork()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:286,1
    - Dst: ReportState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - call
    argTypes:
    - CorkableCall*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: test::grpc::TestServer::QueuePendingCall
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - insert
    - ReportState
    linkageType: ''
    returnType: void
    signature: void TestServer::QueuePendingCall(CorkableCall *call)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoCall::EchoCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:291,1
    - Dst: auto*::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:292,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:292,1
    - Dst: test::grpc::TestServer::StartEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:293,1
    - Dst: test::grpc::TestServer::QueuePendingCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:299,1
    - Dst: auto*::RunToCompletion
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 304
    functionName: test::grpc::TestServer::StartEcho
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 1
    functionsReached:
    - auto*::RunToCompletion
    - MakeTag
    - auto*::Start
    - test::grpc::TestServer::QueuePendingCall
    - test::grpc::TestServer::StartEcho
    - EchoCall::EchoCall
    linkageType: ''
    returnType: void
    signature: void TestServer::StartEcho()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoReportCall::EchoReportCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:307,1
    - Dst: auto*::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:308,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:308,1
    - Dst: test::grpc::TestServer::StartEchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:309,1
    - Dst: test::grpc::TestServer::QueuePendingCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:315,1
    - Dst: auto*::RunToCompletion
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 320
    functionName: test::grpc::TestServer::StartEchoReport
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 1
    functionsReached:
    - auto*::RunToCompletion
    - test::grpc::TestServer::StartEchoReport
    - EchoReportCall::EchoReportCall
    - MakeTag
    - auto*::Start
    - test::grpc::TestServer::QueuePendingCall
    linkageType: ''
    returnType: void
    signature: void TestServer::StartEchoReport()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoStreamCall::EchoStreamCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:323,1
    - Dst: auto*::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:324,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:324,1
    - Dst: test::grpc::TestServer::StartEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:329,1
    - Dst: test::grpc::TestServer::QueuePendingCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:331,1
    - Dst: auto*::RunToCompletion
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 336
    functionName: test::grpc::TestServer::StartEchoStream
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 1
    functionsReached:
    - auto*::RunToCompletion
    - EchoStreamCall::EchoStreamCall
    - MakeTag
    - auto*::Start
    - test::grpc::TestServer::QueuePendingCall
    - test::grpc::TestServer::StartEchoStream
    linkageType: ''
    returnType: void
    signature: void TestServer::StartEchoStream()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CorkCall::CorkCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:339,1
    - Dst: std::shared_ptr::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:340,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:340,1
    - Dst: std::shared_ptr::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:345,1
    - Dst: Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:346,1
    - Dst: std::shared_ptr::shared_from_this
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:348,1
    - Dst: std::shared_ptr::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:349,1
    - Dst: test::grpc::TestServer::StartCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 353
    functionName: test::grpc::TestServer::StartCork
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 1
    functionsReached:
    - std::shared_ptr::StartFinish
    - std::shared_ptr::shared_from_this
    - MakeTag
    - std::shared_ptr::Start
    - CorkCall::CorkCall
    - std::shared_ptr::StartRead
    - Status
    - test::grpc::TestServer::StartCork
    linkageType: ''
    returnType: void
    signature: void TestServer::StartCork()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ServerBuilder::AddListeningPort
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:357,1
    - Dst: InsecureServerCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:357,1
    - Dst: ServerBuilder::RegisterService
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:358,1
    - Dst: ServerBuilder::SetMaxReceiveMessageSize
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:359,1
    - Dst: ServerBuilder::SetMaxSendMessageSize
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:360,1
    - Dst: ServerBuilder::AddCompletionQueue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:361,1
    - Dst: ServerBuilder::BuildAndStart
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:362,1
    - Dst: test::grpc::TestServer::StartEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:364,1
    - Dst: test::grpc::TestServer::StartEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:365,1
    - Dst: test::grpc::TestServer::StartEchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:366,1
    - Dst: test::grpc::TestServer::StartEchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:367,1
    - Dst: test::grpc::TestServer::StartEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:368,1
    - Dst: test::grpc::TestServer::StartEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:369,1
    - Dst: test::grpc::TestServer::StartCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:370,1
    - Dst: Next
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:376,1
    - Dst: reinterpret_cast<Tag *>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - addr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 381
    functionName: test::grpc::TestServer::Run
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - test::grpc::TestServer::StartCork
    - Next
    - test::grpc::TestServer::StartEchoReport
    - reinterpret_cast<Tag *>
    - ServerBuilder::AddCompletionQueue
    - ServerBuilder::AddListeningPort
    - ServerBuilder::RegisterService
    - ServerBuilder::SetMaxSendMessageSize
    - test::grpc::TestServer::StartEcho
    - ServerBuilder::BuildAndStart
    - InsecureServerCredentials
    - test::grpc::TestServer::StartEchoStream
    - ServerBuilder::SetMaxReceiveMessageSize
    linkageType: ''
    returnType: void
    signature: void TestServer::Run(const char *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void *>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:44,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - continuation
    argTypes:
    - std::function<void(bool)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: test::grpc::MakeTag
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - Tag::Tag
    - reinterpret_cast<void *>
    linkageType: ''
    returnType: void
    signature: void *MakeTag(std::function<void(bool)> continuation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~CorkableCall()
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CorkableCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: test::grpc::TestServer::completion_queue
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: ServerCompletionQueue
    signature: ServerCompletionQueue *completion_queue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '&pending_calls()'
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::set<CorkableCall *>
    signature: std::set<CorkableCall *> &pending_calls()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: test::grpc::TestServer::clear_pending_cork
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void clear_pending_cork()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - test_server
    argTypes:
    - TestServer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: test::grpc::EchoCall::EchoCall
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EchoCall(TestServer *test_server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RequestEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:89,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:90,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: test::grpc::EchoCall::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - completion_queue
    - RequestEcho
    linkageType: ''
    returnType: void
    signature: void Start(void *tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:95,1
    - Dst: text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:95,1
    - Dst: mutable_received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:96,1
    - Dst: client_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:97,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:98,1
    - Dst: first::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:98,1
    - Dst: first::length
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:98,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:99,1
    - Dst: second::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:99,1
    - Dst: second::length
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:99,1
    - Dst: sleep
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:103,1
    - Dst: response_delay
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:103,1
    - Dst: return_initial_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:105,1
    - Dst: AddInitialMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:106,1
    - Dst: return_trailing_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:108,1
    - Dst: AddTrailingMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:109,1
    - Dst: Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:111,1
    - Dst: Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:112,1
    - Dst: StatusCode
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:112,1
    - Dst: return_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:112,1
    - Dst: return_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:113,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 115
    functionName: test::grpc::EchoCall::RunToCompletion
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - mutable_received_metadata
    - MakeTag
    - Finish
    - return_initial_metadata
    - second::length
    - Status
    - client_metadata
    - AddTrailingMetadata
    - first::data
    - response_delay
    - text
    - return_trailing_metadata
    - AddInitialMetadata
    - sleep
    - return_status
    - set_text
    - second::data
    - std::string
    - StatusCode
    - first::length
    linkageType: ''
    returnType: void
    signature: void RunToCompletion() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - test_server
    argTypes:
    - TestServer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: test::grpc::EchoReportCall::EchoReportCall
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EchoReportCall(TestServer *test_server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RequestEchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:131,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:132,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: test::grpc::EchoReportCall::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - completion_queue
    - RequestEchoReport
    linkageType: ''
    returnType: void
    signature: void Start(void *tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:139,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: test::grpc::EchoReportCall::RunToCompletion
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - Finish
    - MakeTag
    linkageType: ''
    returnType: void
    signature: void RunToCompletion() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - test_server
    argTypes:
    - TestServer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: test::grpc::EchoStreamCall::EchoStreamCall
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EchoStreamCall(TestServer *test_server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RequestEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:157,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:158,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: test::grpc::EchoStreamCall::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - completion_queue
    - RequestEchoStream
    linkageType: ''
    returnType: void
    signature: void Start(void *tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:163,1
    - Dst: test::grpc::EchoStreamCall::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: test::grpc::EchoStreamCall::RunToCompletion
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - test::grpc::EchoStreamCall::StartRead
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: void RunToCompletion() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:169,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:169,1
    - Dst: test::grpc::EchoStreamCall::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:171,1
    - Dst: return_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:172,1
    - Dst: test::grpc::EchoStreamCall::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:173,1
    - Dst: test::grpc::EchoStreamCall::StartWrite
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: test::grpc::EchoStreamCall::StartRead
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 3
    functionsReached:
    - test::grpc::EchoStreamCall::StartFinish
    - test::grpc::EchoStreamCall::StartWrite
    - Read
    - return_status
    - MakeTag
    linkageType: ''
    returnType: void
    signature: void StartRead()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sleep
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:182,1
    - Dst: response_delay
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:182,1
    - Dst: set_text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:184,1
    - Dst: text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:184,1
    - Dst: set_elapsed_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:185,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:186,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:187,1
    - Dst: Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:189,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:189,1
    - Dst: test::grpc::EchoStreamCall::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:191,1
    - Dst: test::grpc::EchoStreamCall::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 196
    functionName: test::grpc::EchoStreamCall::StartWrite
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 2
    functionsReached:
    - text
    - test::grpc::EchoStreamCall::StartFinish
    - response_delay
    - MakeTag
    - Write
    - test::grpc::EchoStreamCall::StartRead
    - set_elapsed_micros
    - std::chrono::duration_cast<std::chrono::microseconds>
    - set_text
    - sleep
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: void StartWrite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:199,1
    - Dst: Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:199,1
    - Dst: StatusCode
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:199,1
    - Dst: return_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:199,1
    - Dst: return_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:200,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: test::grpc::EchoStreamCall::StartFinish
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 4
    functionsReached:
    - MakeTag
    - return_status
    - Finish
    - Status
    - StatusCode
    linkageType: ''
    returnType: void
    signature: void StartFinish()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - test_server
    argTypes:
    - TestServer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: test::grpc::CorkCall::CorkCall
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CorkCall(TestServer *test_server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RequestCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:218,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:219,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: test::grpc::CorkCall::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - completion_queue
    - RequestCork
    linkageType: ''
    returnType: void
    signature: void Start(void *tag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shared_from_this
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:227,1
    - Dst: Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:228,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:228,1
    - Dst: std::shared_ptr::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:230,1
    - Dst: std::shared_ptr::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 236
    functionName: test::grpc::CorkCall::StartRead
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - shared_from_this
    - std::shared_ptr::StartFinish
    - Read
    - MakeTag
    - std::shared_ptr::StartRead
    linkageType: ''
    returnType: void
    signature: void StartRead()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shared_from_this
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:242,1
    - Dst: CorkState::CorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:243,1
    - Dst: CorkState*::set_current_corked_calls
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:244,1
    - Dst: pending_calls
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:244,1
    - Dst: Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:245,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:245,1
    - Dst: std::shared_ptr::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:248,1
    - Dst: Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 252
    functionName: test::grpc::CorkCall::ReportState
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - shared_from_this
    - std::shared_ptr::StartFinish
    - MakeTag
    - CorkState::CorkState
    - Write
    - Status
    - pending_calls
    - CorkState*::set_current_corked_calls
    linkageType: ''
    returnType: void
    signature: void ReportState()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shared_from_this
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:259,1
    - Dst: Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:260,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:260,1
    - Dst: Uncork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: test::grpc::CorkCall::StartFinish
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - Uncork
    - shared_from_this
    - MakeTag
    - Finish
    linkageType: ''
    returnType: void
    signature: void StartFinish(Status status = Status::OK)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:276,1
    - Dst: reset
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:277,1
    - Dst: std::set::swap
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:279,1
    - Dst: RunToCompletion
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: test::grpc::TestServer::Uncork
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - reset
    - std::set::swap
    - StartFinish
    - RunToCompletion
    linkageType: ''
    returnType: void
    signature: void TestServer::Uncork()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:286,1
    - Dst: ReportState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - call
    argTypes:
    - CorkableCall*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: test::grpc::TestServer::QueuePendingCall
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 3
    functionsReached:
    - insert
    - ReportState
    linkageType: ''
    returnType: void
    signature: void TestServer::QueuePendingCall(CorkableCall *call)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoCall::EchoCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:291,1
    - Dst: auto*::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:292,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:292,1
    - Dst: test::grpc::TestServer::StartEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:293,1
    - Dst: test::grpc::TestServer::QueuePendingCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:299,1
    - Dst: auto*::RunToCompletion
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 304
    functionName: test::grpc::TestServer::StartEcho
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 3
    functionsReached:
    - auto*::RunToCompletion
    - MakeTag
    - auto*::Start
    - test::grpc::TestServer::QueuePendingCall
    - test::grpc::TestServer::StartEcho
    - EchoCall::EchoCall
    linkageType: ''
    returnType: void
    signature: void TestServer::StartEcho()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoReportCall::EchoReportCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:307,1
    - Dst: auto*::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:308,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:308,1
    - Dst: test::grpc::TestServer::StartEchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:309,1
    - Dst: test::grpc::TestServer::QueuePendingCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:315,1
    - Dst: auto*::RunToCompletion
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 320
    functionName: test::grpc::TestServer::StartEchoReport
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 3
    functionsReached:
    - auto*::RunToCompletion
    - test::grpc::TestServer::StartEchoReport
    - EchoReportCall::EchoReportCall
    - MakeTag
    - auto*::Start
    - test::grpc::TestServer::QueuePendingCall
    linkageType: ''
    returnType: void
    signature: void TestServer::StartEchoReport()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoStreamCall::EchoStreamCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:323,1
    - Dst: auto*::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:324,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:324,1
    - Dst: test::grpc::TestServer::StartEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:329,1
    - Dst: test::grpc::TestServer::QueuePendingCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:331,1
    - Dst: auto*::RunToCompletion
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 336
    functionName: test::grpc::TestServer::StartEchoStream
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 3
    functionsReached:
    - auto*::RunToCompletion
    - EchoStreamCall::EchoStreamCall
    - MakeTag
    - auto*::Start
    - test::grpc::TestServer::QueuePendingCall
    - test::grpc::TestServer::StartEchoStream
    linkageType: ''
    returnType: void
    signature: void TestServer::StartEchoStream()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CorkCall::CorkCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:339,1
    - Dst: std::shared_ptr::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:340,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:340,1
    - Dst: std::shared_ptr::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:345,1
    - Dst: Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:346,1
    - Dst: std::shared_ptr::shared_from_this
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:348,1
    - Dst: std::shared_ptr::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:349,1
    - Dst: test::grpc::TestServer::StartCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 353
    functionName: test::grpc::TestServer::StartCork
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 3
    functionsReached:
    - std::shared_ptr::StartFinish
    - std::shared_ptr::shared_from_this
    - MakeTag
    - std::shared_ptr::Start
    - CorkCall::CorkCall
    - std::shared_ptr::StartRead
    - Status
    - test::grpc::TestServer::StartCork
    linkageType: ''
    returnType: void
    signature: void TestServer::StartCork()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ServerBuilder::AddListeningPort
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:357,1
    - Dst: InsecureServerCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:357,1
    - Dst: ServerBuilder::RegisterService
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:358,1
    - Dst: ServerBuilder::SetMaxReceiveMessageSize
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:359,1
    - Dst: ServerBuilder::SetMaxSendMessageSize
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:360,1
    - Dst: ServerBuilder::AddCompletionQueue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:361,1
    - Dst: ServerBuilder::BuildAndStart
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:362,1
    - Dst: test::grpc::TestServer::StartEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:364,1
    - Dst: test::grpc::TestServer::StartEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:365,1
    - Dst: test::grpc::TestServer::StartEchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:366,1
    - Dst: test::grpc::TestServer::StartEchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:367,1
    - Dst: test::grpc::TestServer::StartEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:368,1
    - Dst: test::grpc::TestServer::StartEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:369,1
    - Dst: test::grpc::TestServer::StartCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:370,1
    - Dst: Next
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:376,1
    - Dst: reinterpret_cast<Tag *>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - addr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 381
    functionName: test::grpc::TestServer::Run
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - test::grpc::TestServer::StartCork
    - Next
    - test::grpc::TestServer::StartEchoReport
    - reinterpret_cast<Tag *>
    - ServerBuilder::AddCompletionQueue
    - ServerBuilder::AddListeningPort
    - ServerBuilder::RegisterService
    - ServerBuilder::SetMaxSendMessageSize
    - test::grpc::TestServer::StartEcho
    - ServerBuilder::BuildAndStart
    - InsecureServerCredentials
    - test::grpc::TestServer::StartEchoStream
    - ServerBuilder::SetMaxReceiveMessageSize
    linkageType: ''
    returnType: void
    signature: void TestServer::Run(const char *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void *>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:44,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - continuation
    argTypes:
    - std::function<void(bool)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: test::grpc::MakeTag
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - Tag::Tag
    - reinterpret_cast<void *>
    linkageType: ''
    returnType: void
    signature: void *MakeTag(std::function<void(bool)> continuation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~CorkableCall()
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CorkableCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: test::grpc::TestServer::completion_queue
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: ServerCompletionQueue
    signature: ServerCompletionQueue *completion_queue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '&pending_calls()'
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::set<CorkableCall *>
    signature: std::set<CorkableCall *> &pending_calls()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: test::grpc::TestServer::clear_pending_cork
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void clear_pending_cork()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - test_server
    argTypes:
    - TestServer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: test::grpc::EchoCall::EchoCall
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EchoCall(TestServer *test_server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RequestEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:89,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:90,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: test::grpc::EchoCall::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - completion_queue
    - RequestEcho
    linkageType: ''
    returnType: void
    signature: void Start(void *tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:95,1
    - Dst: text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:95,1
    - Dst: mutable_received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:96,1
    - Dst: client_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:97,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:98,1
    - Dst: first::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:98,1
    - Dst: first::length
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:98,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:99,1
    - Dst: second::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:99,1
    - Dst: second::length
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:99,1
    - Dst: sleep
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:103,1
    - Dst: response_delay
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:103,1
    - Dst: return_initial_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:105,1
    - Dst: AddInitialMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:106,1
    - Dst: return_trailing_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:108,1
    - Dst: AddTrailingMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:109,1
    - Dst: Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:111,1
    - Dst: Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:112,1
    - Dst: StatusCode
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:112,1
    - Dst: return_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:112,1
    - Dst: return_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:113,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 115
    functionName: test::grpc::EchoCall::RunToCompletion
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - mutable_received_metadata
    - MakeTag
    - Finish
    - return_initial_metadata
    - second::length
    - Status
    - client_metadata
    - AddTrailingMetadata
    - first::data
    - response_delay
    - text
    - return_trailing_metadata
    - AddInitialMetadata
    - sleep
    - return_status
    - set_text
    - second::data
    - std::string
    - StatusCode
    - first::length
    linkageType: ''
    returnType: void
    signature: void RunToCompletion() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - test_server
    argTypes:
    - TestServer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: test::grpc::EchoReportCall::EchoReportCall
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EchoReportCall(TestServer *test_server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RequestEchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:131,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:132,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: test::grpc::EchoReportCall::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - completion_queue
    - RequestEchoReport
    linkageType: ''
    returnType: void
    signature: void Start(void *tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:139,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: test::grpc::EchoReportCall::RunToCompletion
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - Finish
    - MakeTag
    linkageType: ''
    returnType: void
    signature: void RunToCompletion() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - test_server
    argTypes:
    - TestServer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: test::grpc::EchoStreamCall::EchoStreamCall
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EchoStreamCall(TestServer *test_server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RequestEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:157,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:158,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: test::grpc::EchoStreamCall::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - completion_queue
    - RequestEchoStream
    linkageType: ''
    returnType: void
    signature: void Start(void *tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:163,1
    - Dst: test::grpc::EchoStreamCall::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: test::grpc::EchoStreamCall::RunToCompletion
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - test::grpc::EchoStreamCall::StartRead
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: void RunToCompletion() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:169,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:169,1
    - Dst: test::grpc::EchoStreamCall::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:171,1
    - Dst: return_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:172,1
    - Dst: test::grpc::EchoStreamCall::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:173,1
    - Dst: test::grpc::EchoStreamCall::StartWrite
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: test::grpc::EchoStreamCall::StartRead
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 5
    functionsReached:
    - test::grpc::EchoStreamCall::StartFinish
    - test::grpc::EchoStreamCall::StartWrite
    - Read
    - return_status
    - MakeTag
    linkageType: ''
    returnType: void
    signature: void StartRead()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sleep
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:182,1
    - Dst: response_delay
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:182,1
    - Dst: set_text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:184,1
    - Dst: text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:184,1
    - Dst: set_elapsed_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:185,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:186,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:187,1
    - Dst: Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:189,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:189,1
    - Dst: test::grpc::EchoStreamCall::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:191,1
    - Dst: test::grpc::EchoStreamCall::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 196
    functionName: test::grpc::EchoStreamCall::StartWrite
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 3
    functionsReached:
    - text
    - test::grpc::EchoStreamCall::StartFinish
    - response_delay
    - MakeTag
    - Write
    - test::grpc::EchoStreamCall::StartRead
    - set_elapsed_micros
    - std::chrono::duration_cast<std::chrono::microseconds>
    - set_text
    - sleep
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: void StartWrite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:199,1
    - Dst: Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:199,1
    - Dst: StatusCode
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:199,1
    - Dst: return_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:199,1
    - Dst: return_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:200,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: test::grpc::EchoStreamCall::StartFinish
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 6
    functionsReached:
    - MakeTag
    - return_status
    - Finish
    - Status
    - StatusCode
    linkageType: ''
    returnType: void
    signature: void StartFinish()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - test_server
    argTypes:
    - TestServer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: test::grpc::CorkCall::CorkCall
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CorkCall(TestServer *test_server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RequestCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:218,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:219,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: test::grpc::CorkCall::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - completion_queue
    - RequestCork
    linkageType: ''
    returnType: void
    signature: void Start(void *tag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shared_from_this
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:227,1
    - Dst: Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:228,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:228,1
    - Dst: std::shared_ptr::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:230,1
    - Dst: std::shared_ptr::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 236
    functionName: test::grpc::CorkCall::StartRead
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - shared_from_this
    - std::shared_ptr::StartFinish
    - Read
    - MakeTag
    - std::shared_ptr::StartRead
    linkageType: ''
    returnType: void
    signature: void StartRead()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shared_from_this
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:242,1
    - Dst: CorkState::CorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:243,1
    - Dst: CorkState*::set_current_corked_calls
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:244,1
    - Dst: pending_calls
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:244,1
    - Dst: Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:245,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:245,1
    - Dst: std::shared_ptr::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:248,1
    - Dst: Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 252
    functionName: test::grpc::CorkCall::ReportState
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - shared_from_this
    - std::shared_ptr::StartFinish
    - MakeTag
    - CorkState::CorkState
    - Write
    - Status
    - pending_calls
    - CorkState*::set_current_corked_calls
    linkageType: ''
    returnType: void
    signature: void ReportState()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shared_from_this
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:259,1
    - Dst: Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:260,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:260,1
    - Dst: Uncork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: test::grpc::CorkCall::StartFinish
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - Uncork
    - shared_from_this
    - MakeTag
    - Finish
    linkageType: ''
    returnType: void
    signature: void StartFinish(Status status = Status::OK)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:276,1
    - Dst: reset
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:277,1
    - Dst: std::set::swap
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:279,1
    - Dst: RunToCompletion
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: test::grpc::TestServer::Uncork
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - reset
    - std::set::swap
    - StartFinish
    - RunToCompletion
    linkageType: ''
    returnType: void
    signature: void TestServer::Uncork()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:286,1
    - Dst: ReportState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - call
    argTypes:
    - CorkableCall*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: test::grpc::TestServer::QueuePendingCall
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 6
    functionsReached:
    - insert
    - ReportState
    linkageType: ''
    returnType: void
    signature: void TestServer::QueuePendingCall(CorkableCall *call)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoCall::EchoCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:291,1
    - Dst: auto*::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:292,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:292,1
    - Dst: test::grpc::TestServer::StartEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:293,1
    - Dst: test::grpc::TestServer::QueuePendingCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:299,1
    - Dst: auto*::RunToCompletion
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 304
    functionName: test::grpc::TestServer::StartEcho
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 5
    functionsReached:
    - auto*::RunToCompletion
    - MakeTag
    - auto*::Start
    - test::grpc::TestServer::QueuePendingCall
    - test::grpc::TestServer::StartEcho
    - EchoCall::EchoCall
    linkageType: ''
    returnType: void
    signature: void TestServer::StartEcho()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoReportCall::EchoReportCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:307,1
    - Dst: auto*::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:308,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:308,1
    - Dst: test::grpc::TestServer::StartEchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:309,1
    - Dst: test::grpc::TestServer::QueuePendingCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:315,1
    - Dst: auto*::RunToCompletion
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 320
    functionName: test::grpc::TestServer::StartEchoReport
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 5
    functionsReached:
    - auto*::RunToCompletion
    - test::grpc::TestServer::StartEchoReport
    - EchoReportCall::EchoReportCall
    - MakeTag
    - auto*::Start
    - test::grpc::TestServer::QueuePendingCall
    linkageType: ''
    returnType: void
    signature: void TestServer::StartEchoReport()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoStreamCall::EchoStreamCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:323,1
    - Dst: auto*::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:324,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:324,1
    - Dst: test::grpc::TestServer::StartEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:329,1
    - Dst: test::grpc::TestServer::QueuePendingCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:331,1
    - Dst: auto*::RunToCompletion
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 336
    functionName: test::grpc::TestServer::StartEchoStream
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 5
    functionsReached:
    - auto*::RunToCompletion
    - EchoStreamCall::EchoStreamCall
    - MakeTag
    - auto*::Start
    - test::grpc::TestServer::QueuePendingCall
    - test::grpc::TestServer::StartEchoStream
    linkageType: ''
    returnType: void
    signature: void TestServer::StartEchoStream()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CorkCall::CorkCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:339,1
    - Dst: std::shared_ptr::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:340,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:340,1
    - Dst: std::shared_ptr::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:345,1
    - Dst: Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:346,1
    - Dst: std::shared_ptr::shared_from_this
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:348,1
    - Dst: std::shared_ptr::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:349,1
    - Dst: test::grpc::TestServer::StartCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 353
    functionName: test::grpc::TestServer::StartCork
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 5
    functionsReached:
    - std::shared_ptr::StartFinish
    - std::shared_ptr::shared_from_this
    - MakeTag
    - std::shared_ptr::Start
    - CorkCall::CorkCall
    - std::shared_ptr::StartRead
    - Status
    - test::grpc::TestServer::StartCork
    linkageType: ''
    returnType: void
    signature: void TestServer::StartCork()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ServerBuilder::AddListeningPort
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:357,1
    - Dst: InsecureServerCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:357,1
    - Dst: ServerBuilder::RegisterService
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:358,1
    - Dst: ServerBuilder::SetMaxReceiveMessageSize
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:359,1
    - Dst: ServerBuilder::SetMaxSendMessageSize
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:360,1
    - Dst: ServerBuilder::AddCompletionQueue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:361,1
    - Dst: ServerBuilder::BuildAndStart
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:362,1
    - Dst: test::grpc::TestServer::StartEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:364,1
    - Dst: test::grpc::TestServer::StartEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:365,1
    - Dst: test::grpc::TestServer::StartEchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:366,1
    - Dst: test::grpc::TestServer::StartEchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:367,1
    - Dst: test::grpc::TestServer::StartEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:368,1
    - Dst: test::grpc::TestServer::StartEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:369,1
    - Dst: test::grpc::TestServer::StartCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:370,1
    - Dst: Next
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:376,1
    - Dst: reinterpret_cast<Tag *>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - addr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 381
    functionName: test::grpc::TestServer::Run
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - test::grpc::TestServer::StartCork
    - Next
    - test::grpc::TestServer::StartEchoReport
    - reinterpret_cast<Tag *>
    - ServerBuilder::AddCompletionQueue
    - ServerBuilder::AddListeningPort
    - ServerBuilder::RegisterService
    - ServerBuilder::SetMaxSendMessageSize
    - test::grpc::TestServer::StartEcho
    - ServerBuilder::BuildAndStart
    - InsecureServerCredentials
    - test::grpc::TestServer::StartEchoStream
    - ServerBuilder::SetMaxReceiveMessageSize
    linkageType: ''
    returnType: void
    signature: void TestServer::Run(const char *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<void *>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:44,1
    - Dst: Tag::Tag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - continuation
    argTypes:
    - std::function<void(bool)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: test::grpc::MakeTag
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - Tag::Tag
    - reinterpret_cast<void *>
    linkageType: ''
    returnType: void
    signature: void *MakeTag(std::function<void(bool)> continuation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: ~CorkableCall()
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CorkableCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 62
    functionName: test::grpc::TestServer::completion_queue
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: ServerCompletionQueue
    signature: ServerCompletionQueue *completion_queue()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: '&pending_calls()'
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::set<CorkableCall *>
    signature: std::set<CorkableCall *> &pending_calls()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: test::grpc::TestServer::clear_pending_cork
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void clear_pending_cork()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - test_server
    argTypes:
    - TestServer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: test::grpc::EchoCall::EchoCall
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EchoCall(TestServer *test_server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RequestEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:89,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:90,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: test::grpc::EchoCall::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - completion_queue
    - RequestEcho
    linkageType: ''
    returnType: void
    signature: void Start(void *tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:95,1
    - Dst: text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:95,1
    - Dst: mutable_received_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:96,1
    - Dst: client_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:97,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:98,1
    - Dst: first::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:98,1
    - Dst: first::length
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:98,1
    - Dst: std::string
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:99,1
    - Dst: second::data
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:99,1
    - Dst: second::length
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:99,1
    - Dst: sleep
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:103,1
    - Dst: response_delay
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:103,1
    - Dst: return_initial_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:105,1
    - Dst: AddInitialMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:106,1
    - Dst: return_trailing_metadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:108,1
    - Dst: AddTrailingMetadata
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:109,1
    - Dst: Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:111,1
    - Dst: Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:112,1
    - Dst: StatusCode
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:112,1
    - Dst: return_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:112,1
    - Dst: return_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:113,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 115
    functionName: test::grpc::EchoCall::RunToCompletion
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - mutable_received_metadata
    - MakeTag
    - Finish
    - return_initial_metadata
    - second::length
    - Status
    - client_metadata
    - AddTrailingMetadata
    - first::data
    - response_delay
    - text
    - return_trailing_metadata
    - AddInitialMetadata
    - sleep
    - return_status
    - set_text
    - second::data
    - std::string
    - StatusCode
    - first::length
    linkageType: ''
    returnType: void
    signature: void RunToCompletion() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - test_server
    argTypes:
    - TestServer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: test::grpc::EchoReportCall::EchoReportCall
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EchoReportCall(TestServer *test_server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RequestEchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:131,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:132,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: test::grpc::EchoReportCall::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - completion_queue
    - RequestEchoReport
    linkageType: ''
    returnType: void
    signature: void Start(void *tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:139,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: test::grpc::EchoReportCall::RunToCompletion
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - Finish
    - MakeTag
    linkageType: ''
    returnType: void
    signature: void RunToCompletion() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - test_server
    argTypes:
    - TestServer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: test::grpc::EchoStreamCall::EchoStreamCall
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EchoStreamCall(TestServer *test_server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RequestEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:157,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:158,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: test::grpc::EchoStreamCall::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - completion_queue
    - RequestEchoStream
    linkageType: ''
    returnType: void
    signature: void Start(void *tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:163,1
    - Dst: test::grpc::EchoStreamCall::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: test::grpc::EchoStreamCall::RunToCompletion
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - test::grpc::EchoStreamCall::StartRead
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: void RunToCompletion() override
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:169,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:169,1
    - Dst: test::grpc::EchoStreamCall::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:171,1
    - Dst: return_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:172,1
    - Dst: test::grpc::EchoStreamCall::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:173,1
    - Dst: test::grpc::EchoStreamCall::StartWrite
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: test::grpc::EchoStreamCall::StartRead
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 7
    functionsReached:
    - test::grpc::EchoStreamCall::StartFinish
    - test::grpc::EchoStreamCall::StartWrite
    - Read
    - return_status
    - MakeTag
    linkageType: ''
    returnType: void
    signature: void StartRead()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sleep
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:182,1
    - Dst: response_delay
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:182,1
    - Dst: set_text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:184,1
    - Dst: text
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:184,1
    - Dst: set_elapsed_micros
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:185,1
    - Dst: std::chrono::duration_cast<std::chrono::microseconds>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:186,1
    - Dst: std::chrono::steady_clock::now
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:187,1
    - Dst: Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:189,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:189,1
    - Dst: test::grpc::EchoStreamCall::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:191,1
    - Dst: test::grpc::EchoStreamCall::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 196
    functionName: test::grpc::EchoStreamCall::StartWrite
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 4
    functionsReached:
    - text
    - test::grpc::EchoStreamCall::StartFinish
    - response_delay
    - MakeTag
    - Write
    - test::grpc::EchoStreamCall::StartRead
    - set_elapsed_micros
    - std::chrono::duration_cast<std::chrono::microseconds>
    - set_text
    - sleep
    - std::chrono::steady_clock::now
    linkageType: ''
    returnType: void
    signature: void StartWrite()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:199,1
    - Dst: Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:199,1
    - Dst: StatusCode
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:199,1
    - Dst: return_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:199,1
    - Dst: return_status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:200,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: test::grpc::EchoStreamCall::StartFinish
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 8
    functionsReached:
    - MakeTag
    - return_status
    - Finish
    - Status
    - StatusCode
    linkageType: ''
    returnType: void
    signature: void StartFinish()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - test_server
    argTypes:
    - TestServer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: test::grpc::CorkCall::CorkCall
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CorkCall(TestServer *test_server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RequestCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:218,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:219,1
    - Dst: completion_queue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tag
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: test::grpc::CorkCall::Start
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - completion_queue
    - RequestCork
    linkageType: ''
    returnType: void
    signature: void Start(void *tag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shared_from_this
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:227,1
    - Dst: Read
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:228,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:228,1
    - Dst: std::shared_ptr::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:230,1
    - Dst: std::shared_ptr::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 236
    functionName: test::grpc::CorkCall::StartRead
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - shared_from_this
    - std::shared_ptr::StartFinish
    - Read
    - MakeTag
    - std::shared_ptr::StartRead
    linkageType: ''
    returnType: void
    signature: void StartRead()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shared_from_this
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:242,1
    - Dst: CorkState::CorkState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:243,1
    - Dst: CorkState*::set_current_corked_calls
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:244,1
    - Dst: pending_calls
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:244,1
    - Dst: Write
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:245,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:245,1
    - Dst: std::shared_ptr::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:248,1
    - Dst: Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 252
    functionName: test::grpc::CorkCall::ReportState
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - shared_from_this
    - std::shared_ptr::StartFinish
    - MakeTag
    - CorkState::CorkState
    - Write
    - Status
    - pending_calls
    - CorkState*::set_current_corked_calls
    linkageType: ''
    returnType: void
    signature: void ReportState()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shared_from_this
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:259,1
    - Dst: Finish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:260,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:260,1
    - Dst: Uncork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: test::grpc::CorkCall::StartFinish
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - Uncork
    - shared_from_this
    - MakeTag
    - Finish
    linkageType: ''
    returnType: void
    signature: void StartFinish(Status status = Status::OK)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:276,1
    - Dst: reset
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:277,1
    - Dst: std::set::swap
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:279,1
    - Dst: RunToCompletion
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: test::grpc::TestServer::Uncork
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - reset
    - std::set::swap
    - StartFinish
    - RunToCompletion
    linkageType: ''
    returnType: void
    signature: void TestServer::Uncork()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:286,1
    - Dst: ReportState
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - call
    argTypes:
    - CorkableCall*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: test::grpc::TestServer::QueuePendingCall
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 9
    functionsReached:
    - insert
    - ReportState
    linkageType: ''
    returnType: void
    signature: void TestServer::QueuePendingCall(CorkableCall *call)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoCall::EchoCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:291,1
    - Dst: auto*::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:292,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:292,1
    - Dst: test::grpc::TestServer::StartEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:293,1
    - Dst: test::grpc::TestServer::QueuePendingCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:299,1
    - Dst: auto*::RunToCompletion
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 304
    functionName: test::grpc::TestServer::StartEcho
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 7
    functionsReached:
    - auto*::RunToCompletion
    - MakeTag
    - auto*::Start
    - test::grpc::TestServer::QueuePendingCall
    - test::grpc::TestServer::StartEcho
    - EchoCall::EchoCall
    linkageType: ''
    returnType: void
    signature: void TestServer::StartEcho()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoReportCall::EchoReportCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:307,1
    - Dst: auto*::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:308,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:308,1
    - Dst: test::grpc::TestServer::StartEchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:309,1
    - Dst: test::grpc::TestServer::QueuePendingCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:315,1
    - Dst: auto*::RunToCompletion
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 320
    functionName: test::grpc::TestServer::StartEchoReport
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 7
    functionsReached:
    - auto*::RunToCompletion
    - test::grpc::TestServer::StartEchoReport
    - EchoReportCall::EchoReportCall
    - MakeTag
    - auto*::Start
    - test::grpc::TestServer::QueuePendingCall
    linkageType: ''
    returnType: void
    signature: void TestServer::StartEchoReport()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EchoStreamCall::EchoStreamCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:323,1
    - Dst: auto*::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:324,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:324,1
    - Dst: test::grpc::TestServer::StartEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:329,1
    - Dst: test::grpc::TestServer::QueuePendingCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:331,1
    - Dst: auto*::RunToCompletion
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 336
    functionName: test::grpc::TestServer::StartEchoStream
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 7
    functionsReached:
    - auto*::RunToCompletion
    - EchoStreamCall::EchoStreamCall
    - MakeTag
    - auto*::Start
    - test::grpc::TestServer::QueuePendingCall
    - test::grpc::TestServer::StartEchoStream
    linkageType: ''
    returnType: void
    signature: void TestServer::StartEchoStream()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CorkCall::CorkCall
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:339,1
    - Dst: std::shared_ptr::Start
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:340,1
    - Dst: MakeTag
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:340,1
    - Dst: std::shared_ptr::StartFinish
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:345,1
    - Dst: Status
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:346,1
    - Dst: std::shared_ptr::shared_from_this
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:348,1
    - Dst: std::shared_ptr::StartRead
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:349,1
    - Dst: test::grpc::TestServer::StartCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 353
    functionName: test::grpc::TestServer::StartCork
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 7
    functionsReached:
    - std::shared_ptr::StartFinish
    - std::shared_ptr::shared_from_this
    - MakeTag
    - std::shared_ptr::Start
    - CorkCall::CorkCall
    - std::shared_ptr::StartRead
    - Status
    - test::grpc::TestServer::StartCork
    linkageType: ''
    returnType: void
    signature: void TestServer::StartCork()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ServerBuilder::AddListeningPort
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:357,1
    - Dst: InsecureServerCredentials
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:357,1
    - Dst: ServerBuilder::RegisterService
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:358,1
    - Dst: ServerBuilder::SetMaxReceiveMessageSize
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:359,1
    - Dst: ServerBuilder::SetMaxSendMessageSize
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:360,1
    - Dst: ServerBuilder::AddCompletionQueue
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:361,1
    - Dst: ServerBuilder::BuildAndStart
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:362,1
    - Dst: test::grpc::TestServer::StartEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:364,1
    - Dst: test::grpc::TestServer::StartEcho
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:365,1
    - Dst: test::grpc::TestServer::StartEchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:366,1
    - Dst: test::grpc::TestServer::StartEchoReport
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:367,1
    - Dst: test::grpc::TestServer::StartEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:368,1
    - Dst: test::grpc::TestServer::StartEchoStream
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:369,1
    - Dst: test::grpc::TestServer::StartCork
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:370,1
    - Dst: Next
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:376,1
    - Dst: reinterpret_cast<Tag *>
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - addr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 381
    functionName: test::grpc::TestServer::Run
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - test::grpc::TestServer::StartCork
    - Next
    - test::grpc::TestServer::StartEchoReport
    - reinterpret_cast<Tag *>
    - ServerBuilder::AddCompletionQueue
    - ServerBuilder::AddListeningPort
    - ServerBuilder::RegisterService
    - ServerBuilder::SetMaxSendMessageSize
    - test::grpc::TestServer::StartEcho
    - ServerBuilder::BuildAndStart
    - InsecureServerCredentials
    - test::grpc::TestServer::StartEchoStream
    - ServerBuilder::SetMaxReceiveMessageSize
    linkageType: ''
    returnType: void
    signature: void TestServer::Run(const char *addr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::test::grpc::TestServer::Run
      Src: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 396
    functionName: main
    functionSourceFile: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
    functionUses: 0
    functionsReached:
    - ::test::grpc::TestServer::Run
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - VariableBinding
    - VariableBinding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: operator==(const VariableBinding& b1, const VariableBinding& b2)
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const VariableBinding& b1, const VariableBinding& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~PathMatcher()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: ~PathMatcherBuilder()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:169,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:170,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - PathMatcherBuilder<Method>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: espv2::api_proxy::path_matcher::PathMatcher<Method>::PathMatcher
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PathMatcher<Method>::PathMatcher(PathMatcherBuilder<Method>&&
      builder)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:178,1
    - Dst: LookupInPathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:188,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:194,1
    - Dst: std::vector<VariableBinding>*::clear
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:196,1
    - Dst: ExtractBindingsFromPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ' http_method'
    - ' path'
    - variable_bindings
    argTypes:
    - std::string
    - std::string
    - std::vector<VariableBinding>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 200
    functionName: espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - ExtractRequestParts
    - ExtractBindingsFromPath
    - std::vector<VariableBinding>*::clear
    - LookupInPathMatcherNode
    - reinterpret_cast<MethodData*>
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(\n    const std::string& http_method,
      const std::string& path,\n    std::vector<VariableBinding>* variable_bindings)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:207,1
    - Dst: LookupInPathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:216,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' http_method'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 224
    functionName: espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - LookupInPathMatcherNode
    - reinterpret_cast<MethodData*>
    - ExtractRequestParts
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(const std::string& http_method,\n
      \                                  const std::string& path) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    linkageType: ''
    returnType: void
    signature: void PathMatcherBuilder<Method>::PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherPtr<Method>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:233,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:233,1
    - Dst: PathMatcher<Method>::PathMatcher<Method>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Build
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::move
    - PathMatcherPtr<Method>
    - PathMatcher<Method>::PathMatcher<Method>
    linkageType: ''
    returnType: PathMatcherPtr<Method>
    signature: PathMatcherPtr<Method> PathMatcherBuilder<Method>::Build()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TransformHttpTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:247,1
    - Dst: std::unique_ptr<MethodData>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:251,1
    - Dst: MethodData::MethodData
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:251,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:253,1
    - Dst: std::unique_ptr::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:253,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:254,1
    - Dst: InsertPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:256,1
    - Dst: auto::get
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:256,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:260,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:260,1
    - Dst: std::unique_ptr::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:261,1
    - Dst: insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:262,1
    - Dst: std::unique_ptr::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - http_method
    - http_template
    - body_field_path
    - method
    argTypes:
    - std::string
    - std::string
    - std::string
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 265
    functionName: espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Register
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::unique_ptr<MethodData>
    - InsertPath
    - MethodData::MethodData
    - std::move
    - auto::get
    - TransformHttpTemplate
    - emplace_back
    - insert
    - std::unique_ptr::Variables
    - std::unique_ptr::verb
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherBuilder<Method>::Register(std::string http_method,\n
      \                                         std::string http_template,\n                                          std::string
      body_field_path,\n                                          Method method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - VariableBinding
    - VariableBinding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: operator==(const VariableBinding& b1, const VariableBinding& b2)
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const VariableBinding& b1, const VariableBinding& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~PathMatcher()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: ~PathMatcherBuilder()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:169,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:170,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - PathMatcherBuilder<Method>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: espv2::api_proxy::path_matcher::PathMatcher<Method>::PathMatcher
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PathMatcher<Method>::PathMatcher(PathMatcherBuilder<Method>&&
      builder)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:178,1
    - Dst: LookupInPathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:188,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:194,1
    - Dst: std::vector<VariableBinding>*::clear
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:196,1
    - Dst: ExtractBindingsFromPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ' http_method'
    - ' path'
    - variable_bindings
    argTypes:
    - std::string
    - std::string
    - std::vector<VariableBinding>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 200
    functionName: espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - ExtractRequestParts
    - ExtractBindingsFromPath
    - std::vector<VariableBinding>*::clear
    - LookupInPathMatcherNode
    - reinterpret_cast<MethodData*>
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(\n    const std::string& http_method,
      const std::string& path,\n    std::vector<VariableBinding>* variable_bindings)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:207,1
    - Dst: LookupInPathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:216,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' http_method'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 224
    functionName: espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - LookupInPathMatcherNode
    - reinterpret_cast<MethodData*>
    - ExtractRequestParts
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(const std::string& http_method,\n
      \                                  const std::string& path) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    linkageType: ''
    returnType: void
    signature: void PathMatcherBuilder<Method>::PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherPtr<Method>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:233,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:233,1
    - Dst: PathMatcher<Method>::PathMatcher<Method>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Build
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::move
    - PathMatcherPtr<Method>
    - PathMatcher<Method>::PathMatcher<Method>
    linkageType: ''
    returnType: PathMatcherPtr<Method>
    signature: PathMatcherPtr<Method> PathMatcherBuilder<Method>::Build()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TransformHttpTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:247,1
    - Dst: std::unique_ptr<MethodData>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:251,1
    - Dst: MethodData::MethodData
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:251,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:253,1
    - Dst: std::unique_ptr::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:253,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:254,1
    - Dst: InsertPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:256,1
    - Dst: auto::get
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:256,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:260,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:260,1
    - Dst: std::unique_ptr::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:261,1
    - Dst: insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:262,1
    - Dst: std::unique_ptr::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - http_method
    - http_template
    - body_field_path
    - method
    argTypes:
    - std::string
    - std::string
    - std::string
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 265
    functionName: espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Register
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::unique_ptr<MethodData>
    - InsertPath
    - MethodData::MethodData
    - std::move
    - auto::get
    - TransformHttpTemplate
    - emplace_back
    - insert
    - std::unique_ptr::Variables
    - std::unique_ptr::verb
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherBuilder<Method>::Register(std::string http_method,\n
      \                                         std::string http_template,\n                                          std::string
      body_field_path,\n                                          Method method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - VariableBinding
    - VariableBinding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: operator==(const VariableBinding& b1, const VariableBinding& b2)
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const VariableBinding& b1, const VariableBinding& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~PathMatcher()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: ~PathMatcherBuilder()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:169,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:170,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - PathMatcherBuilder<Method>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: espv2::api_proxy::path_matcher::PathMatcher<Method>::PathMatcher
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PathMatcher<Method>::PathMatcher(PathMatcherBuilder<Method>&&
      builder)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:178,1
    - Dst: LookupInPathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:188,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:194,1
    - Dst: std::vector<VariableBinding>*::clear
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:196,1
    - Dst: ExtractBindingsFromPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ' http_method'
    - ' path'
    - variable_bindings
    argTypes:
    - std::string
    - std::string
    - std::vector<VariableBinding>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 200
    functionName: espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - ExtractRequestParts
    - ExtractBindingsFromPath
    - std::vector<VariableBinding>*::clear
    - LookupInPathMatcherNode
    - reinterpret_cast<MethodData*>
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(\n    const std::string& http_method,
      const std::string& path,\n    std::vector<VariableBinding>* variable_bindings)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:207,1
    - Dst: LookupInPathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:216,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' http_method'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 224
    functionName: espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - LookupInPathMatcherNode
    - reinterpret_cast<MethodData*>
    - ExtractRequestParts
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(const std::string& http_method,\n
      \                                  const std::string& path) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    linkageType: ''
    returnType: void
    signature: void PathMatcherBuilder<Method>::PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherPtr<Method>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:233,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:233,1
    - Dst: PathMatcher<Method>::PathMatcher<Method>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Build
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::move
    - PathMatcherPtr<Method>
    - PathMatcher<Method>::PathMatcher<Method>
    linkageType: ''
    returnType: PathMatcherPtr<Method>
    signature: PathMatcherPtr<Method> PathMatcherBuilder<Method>::Build()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TransformHttpTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:247,1
    - Dst: std::unique_ptr<MethodData>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:251,1
    - Dst: MethodData::MethodData
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:251,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:253,1
    - Dst: std::unique_ptr::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:253,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:254,1
    - Dst: InsertPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:256,1
    - Dst: auto::get
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:256,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:260,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:260,1
    - Dst: std::unique_ptr::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:261,1
    - Dst: insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:262,1
    - Dst: std::unique_ptr::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - http_method
    - http_template
    - body_field_path
    - method
    argTypes:
    - std::string
    - std::string
    - std::string
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 265
    functionName: espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Register
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::unique_ptr<MethodData>
    - InsertPath
    - MethodData::MethodData
    - std::move
    - auto::get
    - TransformHttpTemplate
    - emplace_back
    - insert
    - std::unique_ptr::Variables
    - std::unique_ptr::verb
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherBuilder<Method>::Register(std::string http_method,\n
      \                                         std::string http_template,\n                                          std::string
      body_field_path,\n                                          Method method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - VariableBinding
    - VariableBinding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: operator==(const VariableBinding& b1, const VariableBinding& b2)
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const VariableBinding& b1, const VariableBinding& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~PathMatcher()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: ~PathMatcherBuilder()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:169,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:170,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - PathMatcherBuilder<Method>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: espv2::api_proxy::path_matcher::PathMatcher<Method>::PathMatcher
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PathMatcher<Method>::PathMatcher(PathMatcherBuilder<Method>&&
      builder)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:178,1
    - Dst: LookupInPathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:188,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:194,1
    - Dst: std::vector<VariableBinding>*::clear
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:196,1
    - Dst: ExtractBindingsFromPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ' http_method'
    - ' path'
    - variable_bindings
    argTypes:
    - std::string
    - std::string
    - std::vector<VariableBinding>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 200
    functionName: espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - ExtractRequestParts
    - ExtractBindingsFromPath
    - std::vector<VariableBinding>*::clear
    - LookupInPathMatcherNode
    - reinterpret_cast<MethodData*>
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(\n    const std::string& http_method,
      const std::string& path,\n    std::vector<VariableBinding>* variable_bindings)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:207,1
    - Dst: LookupInPathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:216,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' http_method'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 224
    functionName: espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - LookupInPathMatcherNode
    - reinterpret_cast<MethodData*>
    - ExtractRequestParts
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(const std::string& http_method,\n
      \                                  const std::string& path) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    linkageType: ''
    returnType: void
    signature: void PathMatcherBuilder<Method>::PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherPtr<Method>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:233,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:233,1
    - Dst: PathMatcher<Method>::PathMatcher<Method>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Build
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::move
    - PathMatcherPtr<Method>
    - PathMatcher<Method>::PathMatcher<Method>
    linkageType: ''
    returnType: PathMatcherPtr<Method>
    signature: PathMatcherPtr<Method> PathMatcherBuilder<Method>::Build()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TransformHttpTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:247,1
    - Dst: std::unique_ptr<MethodData>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:251,1
    - Dst: MethodData::MethodData
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:251,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:253,1
    - Dst: std::unique_ptr::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:253,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:254,1
    - Dst: InsertPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:256,1
    - Dst: auto::get
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:256,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:260,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:260,1
    - Dst: std::unique_ptr::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:261,1
    - Dst: insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:262,1
    - Dst: std::unique_ptr::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - http_method
    - http_template
    - body_field_path
    - method
    argTypes:
    - std::string
    - std::string
    - std::string
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 265
    functionName: espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Register
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::unique_ptr<MethodData>
    - InsertPath
    - MethodData::MethodData
    - std::move
    - auto::get
    - TransformHttpTemplate
    - emplace_back
    - insert
    - std::unique_ptr::Variables
    - std::unique_ptr::verb
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherBuilder<Method>::Register(std::string http_method,\n
      \                                         std::string http_template,\n                                          std::string
      body_field_path,\n                                          Method method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - VariableBinding
    - VariableBinding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: operator==(const VariableBinding& b1, const VariableBinding& b2)
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const VariableBinding& b1, const VariableBinding& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~PathMatcher()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: ~PathMatcherBuilder()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:169,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:170,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - PathMatcherBuilder<Method>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: espv2::api_proxy::path_matcher::PathMatcher<Method>::PathMatcher
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PathMatcher<Method>::PathMatcher(PathMatcherBuilder<Method>&&
      builder)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:178,1
    - Dst: LookupInPathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:188,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:194,1
    - Dst: std::vector<VariableBinding>*::clear
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:196,1
    - Dst: ExtractBindingsFromPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ' http_method'
    - ' path'
    - variable_bindings
    argTypes:
    - std::string
    - std::string
    - std::vector<VariableBinding>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 200
    functionName: espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - ExtractRequestParts
    - ExtractBindingsFromPath
    - std::vector<VariableBinding>*::clear
    - LookupInPathMatcherNode
    - reinterpret_cast<MethodData*>
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(\n    const std::string& http_method,
      const std::string& path,\n    std::vector<VariableBinding>* variable_bindings)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:207,1
    - Dst: LookupInPathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:216,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' http_method'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 224
    functionName: espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - LookupInPathMatcherNode
    - reinterpret_cast<MethodData*>
    - ExtractRequestParts
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(const std::string& http_method,\n
      \                                  const std::string& path) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    linkageType: ''
    returnType: void
    signature: void PathMatcherBuilder<Method>::PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherPtr<Method>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:233,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:233,1
    - Dst: PathMatcher<Method>::PathMatcher<Method>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Build
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::move
    - PathMatcherPtr<Method>
    - PathMatcher<Method>::PathMatcher<Method>
    linkageType: ''
    returnType: PathMatcherPtr<Method>
    signature: PathMatcherPtr<Method> PathMatcherBuilder<Method>::Build()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TransformHttpTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:247,1
    - Dst: std::unique_ptr<MethodData>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:251,1
    - Dst: MethodData::MethodData
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:251,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:253,1
    - Dst: std::unique_ptr::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:253,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:254,1
    - Dst: InsertPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:256,1
    - Dst: auto::get
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:256,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:260,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:260,1
    - Dst: std::unique_ptr::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:261,1
    - Dst: insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:262,1
    - Dst: std::unique_ptr::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - http_method
    - http_template
    - body_field_path
    - method
    argTypes:
    - std::string
    - std::string
    - std::string
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 265
    functionName: espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Register
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::unique_ptr<MethodData>
    - InsertPath
    - MethodData::MethodData
    - std::move
    - auto::get
    - TransformHttpTemplate
    - emplace_back
    - insert
    - std::unique_ptr::Variables
    - std::unique_ptr::verb
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherBuilder<Method>::Register(std::string http_method,\n
      \                                         std::string http_template,\n                                          std::string
      body_field_path,\n                                          Method method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - VariableBinding
    - VariableBinding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: operator==(const VariableBinding& b1, const VariableBinding& b2)
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const VariableBinding& b1, const VariableBinding& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~PathMatcher()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: ~PathMatcherBuilder()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:169,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:170,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - PathMatcherBuilder<Method>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: espv2::api_proxy::path_matcher::PathMatcher<Method>::PathMatcher
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PathMatcher<Method>::PathMatcher(PathMatcherBuilder<Method>&&
      builder)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:178,1
    - Dst: LookupInPathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:188,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:194,1
    - Dst: std::vector<VariableBinding>*::clear
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:196,1
    - Dst: ExtractBindingsFromPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ' http_method'
    - ' path'
    - variable_bindings
    argTypes:
    - std::string
    - std::string
    - std::vector<VariableBinding>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 200
    functionName: espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - ExtractRequestParts
    - ExtractBindingsFromPath
    - std::vector<VariableBinding>*::clear
    - LookupInPathMatcherNode
    - reinterpret_cast<MethodData*>
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(\n    const std::string& http_method,
      const std::string& path,\n    std::vector<VariableBinding>* variable_bindings)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:207,1
    - Dst: LookupInPathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:216,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' http_method'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 224
    functionName: espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - LookupInPathMatcherNode
    - reinterpret_cast<MethodData*>
    - ExtractRequestParts
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(const std::string& http_method,\n
      \                                  const std::string& path) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    linkageType: ''
    returnType: void
    signature: void PathMatcherBuilder<Method>::PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherPtr<Method>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:233,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:233,1
    - Dst: PathMatcher<Method>::PathMatcher<Method>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Build
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::move
    - PathMatcherPtr<Method>
    - PathMatcher<Method>::PathMatcher<Method>
    linkageType: ''
    returnType: PathMatcherPtr<Method>
    signature: PathMatcherPtr<Method> PathMatcherBuilder<Method>::Build()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TransformHttpTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:247,1
    - Dst: std::unique_ptr<MethodData>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:251,1
    - Dst: MethodData::MethodData
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:251,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:253,1
    - Dst: std::unique_ptr::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:253,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:254,1
    - Dst: InsertPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:256,1
    - Dst: auto::get
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:256,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:260,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:260,1
    - Dst: std::unique_ptr::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:261,1
    - Dst: insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:262,1
    - Dst: std::unique_ptr::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - http_method
    - http_template
    - body_field_path
    - method
    argTypes:
    - std::string
    - std::string
    - std::string
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 265
    functionName: espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Register
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::unique_ptr<MethodData>
    - InsertPath
    - MethodData::MethodData
    - std::move
    - auto::get
    - TransformHttpTemplate
    - emplace_back
    - insert
    - std::unique_ptr::Variables
    - std::unique_ptr::verb
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherBuilder<Method>::Register(std::string http_method,\n
      \                                         std::string http_template,\n                                          std::string
      body_field_path,\n                                          Method method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - VariableBinding
    - VariableBinding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: operator==(const VariableBinding& b1, const VariableBinding& b2)
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const VariableBinding& b1, const VariableBinding& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~PathMatcher()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: ~PathMatcherBuilder()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:169,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:170,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - PathMatcherBuilder<Method>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: espv2::api_proxy::path_matcher::PathMatcher<Method>::PathMatcher
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PathMatcher<Method>::PathMatcher(PathMatcherBuilder<Method>&&
      builder)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:178,1
    - Dst: LookupInPathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:188,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:194,1
    - Dst: std::vector<VariableBinding>*::clear
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:196,1
    - Dst: ExtractBindingsFromPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ' http_method'
    - ' path'
    - variable_bindings
    argTypes:
    - std::string
    - std::string
    - std::vector<VariableBinding>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 200
    functionName: espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - ExtractRequestParts
    - ExtractBindingsFromPath
    - std::vector<VariableBinding>*::clear
    - LookupInPathMatcherNode
    - reinterpret_cast<MethodData*>
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(\n    const std::string& http_method,
      const std::string& path,\n    std::vector<VariableBinding>* variable_bindings)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:207,1
    - Dst: LookupInPathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:216,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' http_method'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 224
    functionName: espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - LookupInPathMatcherNode
    - reinterpret_cast<MethodData*>
    - ExtractRequestParts
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(const std::string& http_method,\n
      \                                  const std::string& path) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    linkageType: ''
    returnType: void
    signature: void PathMatcherBuilder<Method>::PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherPtr<Method>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:233,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:233,1
    - Dst: PathMatcher<Method>::PathMatcher<Method>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Build
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::move
    - PathMatcherPtr<Method>
    - PathMatcher<Method>::PathMatcher<Method>
    linkageType: ''
    returnType: PathMatcherPtr<Method>
    signature: PathMatcherPtr<Method> PathMatcherBuilder<Method>::Build()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TransformHttpTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:247,1
    - Dst: std::unique_ptr<MethodData>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:251,1
    - Dst: MethodData::MethodData
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:251,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:253,1
    - Dst: std::unique_ptr::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:253,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:254,1
    - Dst: InsertPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:256,1
    - Dst: auto::get
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:256,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:260,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:260,1
    - Dst: std::unique_ptr::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:261,1
    - Dst: insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:262,1
    - Dst: std::unique_ptr::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - http_method
    - http_template
    - body_field_path
    - method
    argTypes:
    - std::string
    - std::string
    - std::string
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 265
    functionName: espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Register
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::unique_ptr<MethodData>
    - InsertPath
    - MethodData::MethodData
    - std::move
    - auto::get
    - TransformHttpTemplate
    - emplace_back
    - insert
    - std::unique_ptr::Variables
    - std::unique_ptr::verb
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherBuilder<Method>::Register(std::string http_method,\n
      \                                         std::string http_template,\n                                          std::string
      body_field_path,\n                                          Method method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - VariableBinding
    - VariableBinding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: operator==(const VariableBinding& b1, const VariableBinding& b2)
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const VariableBinding& b1, const VariableBinding& b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: ~PathMatcher()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: ~PathMatcherBuilder()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:169,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:170,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - PathMatcherBuilder<Method>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: espv2::api_proxy::path_matcher::PathMatcher<Method>::PathMatcher
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PathMatcher<Method>::PathMatcher(PathMatcherBuilder<Method>&&
      builder)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:178,1
    - Dst: LookupInPathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:188,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:194,1
    - Dst: std::vector<VariableBinding>*::clear
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:196,1
    - Dst: ExtractBindingsFromPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ' http_method'
    - ' path'
    - variable_bindings
    argTypes:
    - std::string
    - std::string
    - std::vector<VariableBinding>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 200
    functionName: espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - ExtractRequestParts
    - ExtractBindingsFromPath
    - std::vector<VariableBinding>*::clear
    - LookupInPathMatcherNode
    - reinterpret_cast<MethodData*>
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(\n    const std::string& http_method,
      const std::string& path,\n    std::vector<VariableBinding>* variable_bindings)
      const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:207,1
    - Dst: LookupInPathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:216,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' http_method'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 224
    functionName: espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - LookupInPathMatcherNode
    - reinterpret_cast<MethodData*>
    - ExtractRequestParts
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(const std::string& http_method,\n
      \                                  const std::string& path) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    linkageType: ''
    returnType: void
    signature: void PathMatcherBuilder<Method>::PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherPtr<Method>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:233,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:233,1
    - Dst: PathMatcher<Method>::PathMatcher<Method>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Build
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::move
    - PathMatcherPtr<Method>
    - PathMatcher<Method>::PathMatcher<Method>
    linkageType: ''
    returnType: PathMatcherPtr<Method>
    signature: PathMatcherPtr<Method> PathMatcherBuilder<Method>::Build()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TransformHttpTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:247,1
    - Dst: std::unique_ptr<MethodData>
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:251,1
    - Dst: MethodData::MethodData
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:251,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:253,1
    - Dst: std::unique_ptr::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:253,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:254,1
    - Dst: InsertPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:256,1
    - Dst: auto::get
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:256,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:260,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:260,1
    - Dst: std::unique_ptr::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:261,1
    - Dst: insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:262,1
    - Dst: std::unique_ptr::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - http_method
    - http_template
    - body_field_path
    - method
    argTypes:
    - std::string
    - std::string
    - std::string
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 265
    functionName: espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Register
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::unique_ptr<MethodData>
    - InsertPath
    - MethodData::MethodData
    - std::move
    - auto::get
    - TransformHttpTemplate
    - emplace_back
    - insert
    - std::unique_ptr::Variables
    - std::unique_ptr::verb
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherBuilder<Method>::Register(std::string http_method,\n
      \                                         std::string http_template,\n                                          std::string
      body_field_path,\n                                          Method method)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:37,1
    - Dst: std::vector<VariableBinding>*::emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' vars'
    - ' parts'
    - bindings
    argTypes:
    - std::vector<HttpTemplate::Variable>
    - std::vector<std::string>
    - std::vector<VariableBinding>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::path_matcher::ExtractBindingsFromPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - std::vector<VariableBinding>*::emplace_back
    - size
    linkageType: ''
    returnType: void
    signature: "void ExtractBindingsFromPath(const std::vector<HttpTemplate::Variable>&
      vars,\n                             const std::vector<std::string>& parts,\n
      \                            std::vector<VariableBinding>* bindings)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::substr
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:52,1
    - Dst: std::string::find_first_of
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:52,1
    - Dst: std::string::find_last_of
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:56,1
    - Dst: std::string::find_last_of
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:57,1
    - Dst: std::string::substr
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:59,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:62,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:62,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:68,1
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:69,1
    - Dst: std::string::substr
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:69,1
    - Dst: std::vector::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:72,1
    - Dst: std::vector::end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:72,1
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:72,1
    - Dst: std::vector::pop_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - path
    - ' custom_verbs'
    argTypes:
    - std::string
    - std::set<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 76
    functionName: espv2::api_proxy::path_matcher::ExtractRequestParts
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    - absl::StrSplit
    - empty
    - std::string::find_first_of
    - std::vector::empty
    - std::vector::end
    - std::string::empty
    - std::vector::pop_back
    - find
    - end
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> ExtractRequestParts(\n    std::string path,
      const std::set<std::string>& custom_verbs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:82,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:82,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' root'
    - ' parts'
    - ' http_method'
    argTypes:
    - PathMatcherNode
    - std::vector<std::string>
    - HttpMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::path_matcher::LookupInPathMatcherNode
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - begin
    - LookupPath
    - end
    linkageType: ''
    returnType: PathMatcherLookupResult
    signature: "PathMatcherLookupResult LookupInPathMatcherNode(\n    const PathMatcherNode&
      root, const std::vector<std::string>& parts,\n    const HttpMethod& http_method)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:89,1
    - Dst: PathMatcherNode::PathInfo::Builder::AppendLiteralNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:90,1
    - Dst: verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:92,1
    - Dst: PathMatcherNode::PathInfo::Builder::AppendLiteralNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:93,1
    - Dst: verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:93,1
    - Dst: PathMatcherNode::PathInfo::Builder::Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' ht'
    argTypes:
    - HttpTemplate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: espv2::api_proxy::path_matcher::TransformHttpTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathInfo::Builder::Build
    - verb
    - segments
    - PathMatcherNode::PathInfo::Builder::AppendLiteralNode
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo TransformHttpTemplate(const HttpTemplate&
      ht)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:37,1
    - Dst: std::vector<VariableBinding>*::emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' vars'
    - ' parts'
    - bindings
    argTypes:
    - std::vector<HttpTemplate::Variable>
    - std::vector<std::string>
    - std::vector<VariableBinding>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::path_matcher::ExtractBindingsFromPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - std::vector<VariableBinding>*::emplace_back
    - size
    linkageType: ''
    returnType: void
    signature: "void ExtractBindingsFromPath(const std::vector<HttpTemplate::Variable>&
      vars,\n                             const std::vector<std::string>& parts,\n
      \                            std::vector<VariableBinding>* bindings)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::substr
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:52,1
    - Dst: std::string::find_first_of
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:52,1
    - Dst: std::string::find_last_of
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:56,1
    - Dst: std::string::find_last_of
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:57,1
    - Dst: std::string::substr
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:59,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:62,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:62,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:68,1
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:69,1
    - Dst: std::string::substr
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:69,1
    - Dst: std::vector::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:72,1
    - Dst: std::vector::end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:72,1
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:72,1
    - Dst: std::vector::pop_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - path
    - ' custom_verbs'
    argTypes:
    - std::string
    - std::set<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 76
    functionName: espv2::api_proxy::path_matcher::ExtractRequestParts
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    - absl::StrSplit
    - empty
    - std::string::find_first_of
    - std::vector::empty
    - std::vector::end
    - std::string::empty
    - std::vector::pop_back
    - find
    - end
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> ExtractRequestParts(\n    std::string path,
      const std::set<std::string>& custom_verbs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:82,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:82,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' root'
    - ' parts'
    - ' http_method'
    argTypes:
    - PathMatcherNode
    - std::vector<std::string>
    - HttpMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::path_matcher::LookupInPathMatcherNode
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - begin
    - LookupPath
    - end
    linkageType: ''
    returnType: PathMatcherLookupResult
    signature: "PathMatcherLookupResult LookupInPathMatcherNode(\n    const PathMatcherNode&
      root, const std::vector<std::string>& parts,\n    const HttpMethod& http_method)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:89,1
    - Dst: PathMatcherNode::PathInfo::Builder::AppendLiteralNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:90,1
    - Dst: verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:92,1
    - Dst: PathMatcherNode::PathInfo::Builder::AppendLiteralNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:93,1
    - Dst: verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:93,1
    - Dst: PathMatcherNode::PathInfo::Builder::Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' ht'
    argTypes:
    - HttpTemplate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: espv2::api_proxy::path_matcher::TransformHttpTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathInfo::Builder::Build
    - verb
    - segments
    - PathMatcherNode::PathInfo::Builder::AppendLiteralNode
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo TransformHttpTemplate(const HttpTemplate&
      ht)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:37,1
    - Dst: std::vector<VariableBinding>*::emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' vars'
    - ' parts'
    - bindings
    argTypes:
    - std::vector<HttpTemplate::Variable>
    - std::vector<std::string>
    - std::vector<VariableBinding>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::path_matcher::ExtractBindingsFromPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - std::vector<VariableBinding>*::emplace_back
    - size
    linkageType: ''
    returnType: void
    signature: "void ExtractBindingsFromPath(const std::vector<HttpTemplate::Variable>&
      vars,\n                             const std::vector<std::string>& parts,\n
      \                            std::vector<VariableBinding>* bindings)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::substr
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:52,1
    - Dst: std::string::find_first_of
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:52,1
    - Dst: std::string::find_last_of
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:56,1
    - Dst: std::string::find_last_of
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:57,1
    - Dst: std::string::substr
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:59,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:62,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:62,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:68,1
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:69,1
    - Dst: std::string::substr
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:69,1
    - Dst: std::vector::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:72,1
    - Dst: std::vector::end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:72,1
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:72,1
    - Dst: std::vector::pop_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - path
    - ' custom_verbs'
    argTypes:
    - std::string
    - std::set<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 76
    functionName: espv2::api_proxy::path_matcher::ExtractRequestParts
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    - absl::StrSplit
    - empty
    - std::string::find_first_of
    - std::vector::empty
    - std::vector::end
    - std::string::empty
    - std::vector::pop_back
    - find
    - end
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> ExtractRequestParts(\n    std::string path,
      const std::set<std::string>& custom_verbs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:82,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:82,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' root'
    - ' parts'
    - ' http_method'
    argTypes:
    - PathMatcherNode
    - std::vector<std::string>
    - HttpMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::path_matcher::LookupInPathMatcherNode
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - begin
    - LookupPath
    - end
    linkageType: ''
    returnType: PathMatcherLookupResult
    signature: "PathMatcherLookupResult LookupInPathMatcherNode(\n    const PathMatcherNode&
      root, const std::vector<std::string>& parts,\n    const HttpMethod& http_method)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:89,1
    - Dst: PathMatcherNode::PathInfo::Builder::AppendLiteralNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:90,1
    - Dst: verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:92,1
    - Dst: PathMatcherNode::PathInfo::Builder::AppendLiteralNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:93,1
    - Dst: verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:93,1
    - Dst: PathMatcherNode::PathInfo::Builder::Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' ht'
    argTypes:
    - HttpTemplate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: espv2::api_proxy::path_matcher::TransformHttpTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathInfo::Builder::Build
    - verb
    - segments
    - PathMatcherNode::PathInfo::Builder::AppendLiteralNode
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo TransformHttpTemplate(const HttpTemplate&
      ht)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:37,1
    - Dst: std::vector<VariableBinding>*::emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' vars'
    - ' parts'
    - bindings
    argTypes:
    - std::vector<HttpTemplate::Variable>
    - std::vector<std::string>
    - std::vector<VariableBinding>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::path_matcher::ExtractBindingsFromPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - std::vector<VariableBinding>*::emplace_back
    - size
    linkageType: ''
    returnType: void
    signature: "void ExtractBindingsFromPath(const std::vector<HttpTemplate::Variable>&
      vars,\n                             const std::vector<std::string>& parts,\n
      \                            std::vector<VariableBinding>* bindings)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::substr
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:52,1
    - Dst: std::string::find_first_of
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:52,1
    - Dst: std::string::find_last_of
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:56,1
    - Dst: std::string::find_last_of
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:57,1
    - Dst: std::string::substr
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:59,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:62,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:62,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:68,1
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:69,1
    - Dst: std::string::substr
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:69,1
    - Dst: std::vector::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:72,1
    - Dst: std::vector::end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:72,1
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:72,1
    - Dst: std::vector::pop_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - path
    - ' custom_verbs'
    argTypes:
    - std::string
    - std::set<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 76
    functionName: espv2::api_proxy::path_matcher::ExtractRequestParts
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    - absl::StrSplit
    - empty
    - std::string::find_first_of
    - std::vector::empty
    - std::vector::end
    - std::string::empty
    - std::vector::pop_back
    - find
    - end
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> ExtractRequestParts(\n    std::string path,
      const std::set<std::string>& custom_verbs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:82,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:82,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' root'
    - ' parts'
    - ' http_method'
    argTypes:
    - PathMatcherNode
    - std::vector<std::string>
    - HttpMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::path_matcher::LookupInPathMatcherNode
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - begin
    - LookupPath
    - end
    linkageType: ''
    returnType: PathMatcherLookupResult
    signature: "PathMatcherLookupResult LookupInPathMatcherNode(\n    const PathMatcherNode&
      root, const std::vector<std::string>& parts,\n    const HttpMethod& http_method)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:89,1
    - Dst: PathMatcherNode::PathInfo::Builder::AppendLiteralNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:90,1
    - Dst: verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:92,1
    - Dst: PathMatcherNode::PathInfo::Builder::AppendLiteralNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:93,1
    - Dst: verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:93,1
    - Dst: PathMatcherNode::PathInfo::Builder::Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' ht'
    argTypes:
    - HttpTemplate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: espv2::api_proxy::path_matcher::TransformHttpTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathInfo::Builder::Build
    - verb
    - segments
    - PathMatcherNode::PathInfo::Builder::AppendLiteralNode
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo TransformHttpTemplate(const HttpTemplate&
      ht)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:37,1
    - Dst: std::vector<VariableBinding>*::emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' vars'
    - ' parts'
    - bindings
    argTypes:
    - std::vector<HttpTemplate::Variable>
    - std::vector<std::string>
    - std::vector<VariableBinding>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::path_matcher::ExtractBindingsFromPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - std::vector<VariableBinding>*::emplace_back
    - size
    linkageType: ''
    returnType: void
    signature: "void ExtractBindingsFromPath(const std::vector<HttpTemplate::Variable>&
      vars,\n                             const std::vector<std::string>& parts,\n
      \                            std::vector<VariableBinding>* bindings)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::substr
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:52,1
    - Dst: std::string::find_first_of
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:52,1
    - Dst: std::string::find_last_of
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:56,1
    - Dst: std::string::find_last_of
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:57,1
    - Dst: std::string::substr
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:59,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:62,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:62,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:68,1
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:69,1
    - Dst: std::string::substr
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:69,1
    - Dst: std::vector::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:72,1
    - Dst: std::vector::end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:72,1
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:72,1
    - Dst: std::vector::pop_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - path
    - ' custom_verbs'
    argTypes:
    - std::string
    - std::set<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 76
    functionName: espv2::api_proxy::path_matcher::ExtractRequestParts
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    - absl::StrSplit
    - empty
    - std::string::find_first_of
    - std::vector::empty
    - std::vector::end
    - std::string::empty
    - std::vector::pop_back
    - find
    - end
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> ExtractRequestParts(\n    std::string path,
      const std::set<std::string>& custom_verbs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:82,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:82,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' root'
    - ' parts'
    - ' http_method'
    argTypes:
    - PathMatcherNode
    - std::vector<std::string>
    - HttpMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::path_matcher::LookupInPathMatcherNode
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - begin
    - LookupPath
    - end
    linkageType: ''
    returnType: PathMatcherLookupResult
    signature: "PathMatcherLookupResult LookupInPathMatcherNode(\n    const PathMatcherNode&
      root, const std::vector<std::string>& parts,\n    const HttpMethod& http_method)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:89,1
    - Dst: PathMatcherNode::PathInfo::Builder::AppendLiteralNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:90,1
    - Dst: verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:92,1
    - Dst: PathMatcherNode::PathInfo::Builder::AppendLiteralNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:93,1
    - Dst: verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:93,1
    - Dst: PathMatcherNode::PathInfo::Builder::Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' ht'
    argTypes:
    - HttpTemplate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: espv2::api_proxy::path_matcher::TransformHttpTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathInfo::Builder::Build
    - verb
    - segments
    - PathMatcherNode::PathInfo::Builder::AppendLiteralNode
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo TransformHttpTemplate(const HttpTemplate&
      ht)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:37,1
    - Dst: std::vector<VariableBinding>*::emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' vars'
    - ' parts'
    - bindings
    argTypes:
    - std::vector<HttpTemplate::Variable>
    - std::vector<std::string>
    - std::vector<VariableBinding>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::path_matcher::ExtractBindingsFromPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - std::vector<VariableBinding>*::emplace_back
    - size
    linkageType: ''
    returnType: void
    signature: "void ExtractBindingsFromPath(const std::vector<HttpTemplate::Variable>&
      vars,\n                             const std::vector<std::string>& parts,\n
      \                            std::vector<VariableBinding>* bindings)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::substr
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:52,1
    - Dst: std::string::find_first_of
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:52,1
    - Dst: std::string::find_last_of
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:56,1
    - Dst: std::string::find_last_of
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:57,1
    - Dst: std::string::substr
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:59,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:62,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:62,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:68,1
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:69,1
    - Dst: std::string::substr
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:69,1
    - Dst: std::vector::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:72,1
    - Dst: std::vector::end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:72,1
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:72,1
    - Dst: std::vector::pop_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - path
    - ' custom_verbs'
    argTypes:
    - std::string
    - std::set<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 76
    functionName: espv2::api_proxy::path_matcher::ExtractRequestParts
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    - absl::StrSplit
    - empty
    - std::string::find_first_of
    - std::vector::empty
    - std::vector::end
    - std::string::empty
    - std::vector::pop_back
    - find
    - end
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> ExtractRequestParts(\n    std::string path,
      const std::set<std::string>& custom_verbs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:82,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:82,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' root'
    - ' parts'
    - ' http_method'
    argTypes:
    - PathMatcherNode
    - std::vector<std::string>
    - HttpMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::path_matcher::LookupInPathMatcherNode
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - begin
    - LookupPath
    - end
    linkageType: ''
    returnType: PathMatcherLookupResult
    signature: "PathMatcherLookupResult LookupInPathMatcherNode(\n    const PathMatcherNode&
      root, const std::vector<std::string>& parts,\n    const HttpMethod& http_method)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:89,1
    - Dst: PathMatcherNode::PathInfo::Builder::AppendLiteralNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:90,1
    - Dst: verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:92,1
    - Dst: PathMatcherNode::PathInfo::Builder::AppendLiteralNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:93,1
    - Dst: verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:93,1
    - Dst: PathMatcherNode::PathInfo::Builder::Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' ht'
    argTypes:
    - HttpTemplate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: espv2::api_proxy::path_matcher::TransformHttpTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathInfo::Builder::Build
    - verb
    - segments
    - PathMatcherNode::PathInfo::Builder::AppendLiteralNode
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo TransformHttpTemplate(const HttpTemplate&
      ht)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:37,1
    - Dst: std::vector<VariableBinding>*::emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' vars'
    - ' parts'
    - bindings
    argTypes:
    - std::vector<HttpTemplate::Variable>
    - std::vector<std::string>
    - std::vector<VariableBinding>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::path_matcher::ExtractBindingsFromPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - std::vector<VariableBinding>*::emplace_back
    - size
    linkageType: ''
    returnType: void
    signature: "void ExtractBindingsFromPath(const std::vector<HttpTemplate::Variable>&
      vars,\n                             const std::vector<std::string>& parts,\n
      \                            std::vector<VariableBinding>* bindings)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::substr
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:52,1
    - Dst: std::string::find_first_of
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:52,1
    - Dst: std::string::find_last_of
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:56,1
    - Dst: std::string::find_last_of
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:57,1
    - Dst: std::string::substr
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:59,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:62,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:62,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:68,1
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:69,1
    - Dst: std::string::substr
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:69,1
    - Dst: std::vector::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:72,1
    - Dst: std::vector::end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:72,1
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:72,1
    - Dst: std::vector::pop_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - path
    - ' custom_verbs'
    argTypes:
    - std::string
    - std::set<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 76
    functionName: espv2::api_proxy::path_matcher::ExtractRequestParts
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    - absl::StrSplit
    - empty
    - std::string::find_first_of
    - std::vector::empty
    - std::vector::end
    - std::string::empty
    - std::vector::pop_back
    - find
    - end
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> ExtractRequestParts(\n    std::string path,
      const std::set<std::string>& custom_verbs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:82,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:82,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' root'
    - ' parts'
    - ' http_method'
    argTypes:
    - PathMatcherNode
    - std::vector<std::string>
    - HttpMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::path_matcher::LookupInPathMatcherNode
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - begin
    - LookupPath
    - end
    linkageType: ''
    returnType: PathMatcherLookupResult
    signature: "PathMatcherLookupResult LookupInPathMatcherNode(\n    const PathMatcherNode&
      root, const std::vector<std::string>& parts,\n    const HttpMethod& http_method)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:89,1
    - Dst: PathMatcherNode::PathInfo::Builder::AppendLiteralNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:90,1
    - Dst: verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:92,1
    - Dst: PathMatcherNode::PathInfo::Builder::AppendLiteralNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:93,1
    - Dst: verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:93,1
    - Dst: PathMatcherNode::PathInfo::Builder::Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' ht'
    argTypes:
    - HttpTemplate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: espv2::api_proxy::path_matcher::TransformHttpTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathInfo::Builder::Build
    - verb
    - segments
    - PathMatcherNode::PathInfo::Builder::AppendLiteralNode
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo TransformHttpTemplate(const HttpTemplate&
      ht)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:37,1
    - Dst: std::vector<VariableBinding>*::emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ' vars'
    - ' parts'
    - bindings
    argTypes:
    - std::vector<HttpTemplate::Variable>
    - std::vector<std::string>
    - std::vector<VariableBinding>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::path_matcher::ExtractBindingsFromPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - std::vector<VariableBinding>*::emplace_back
    - size
    linkageType: ''
    returnType: void
    signature: "void ExtractBindingsFromPath(const std::vector<HttpTemplate::Variable>&
      vars,\n                             const std::vector<std::string>& parts,\n
      \                            std::vector<VariableBinding>* bindings)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::substr
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:52,1
    - Dst: std::string::find_first_of
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:52,1
    - Dst: std::string::find_last_of
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:56,1
    - Dst: std::string::find_last_of
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:57,1
    - Dst: std::string::substr
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:59,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:62,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:62,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:68,1
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:69,1
    - Dst: std::string::substr
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:69,1
    - Dst: std::vector::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:72,1
    - Dst: std::vector::end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:72,1
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:72,1
    - Dst: std::vector::pop_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - path
    - ' custom_verbs'
    argTypes:
    - std::string
    - std::set<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 76
    functionName: espv2::api_proxy::path_matcher::ExtractRequestParts
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - std::string::substr
    - std::string::find_last_of
    - absl::StrSplit
    - empty
    - std::string::find_first_of
    - std::vector::empty
    - std::vector::end
    - std::string::empty
    - std::vector::pop_back
    - find
    - end
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> ExtractRequestParts(\n    std::string path,
      const std::set<std::string>& custom_verbs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:82,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:82,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' root'
    - ' parts'
    - ' http_method'
    argTypes:
    - PathMatcherNode
    - std::vector<std::string>
    - HttpMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::path_matcher::LookupInPathMatcherNode
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - begin
    - LookupPath
    - end
    linkageType: ''
    returnType: PathMatcherLookupResult
    signature: "PathMatcherLookupResult LookupInPathMatcherNode(\n    const PathMatcherNode&
      root, const std::vector<std::string>& parts,\n    const HttpMethod& http_method)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:89,1
    - Dst: PathMatcherNode::PathInfo::Builder::AppendLiteralNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:90,1
    - Dst: verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:92,1
    - Dst: PathMatcherNode::PathInfo::Builder::AppendLiteralNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:93,1
    - Dst: verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:93,1
    - Dst: PathMatcherNode::PathInfo::Builder::Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' ht'
    argTypes:
    - HttpTemplate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: espv2::api_proxy::path_matcher::TransformHttpTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathInfo::Builder::Build
    - verb
    - segments
    - PathMatcherNode::PathInfo::Builder::AppendLiteralNode
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo TransformHttpTemplate(const HttpTemplate&
      ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::api_proxy::path_matcher::PathMatcherLookupResult
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - is_multiple
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: espv2::api_proxy::path_matcher::PathMatcherLookupResult
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult(void* data, bool is_multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::Builder::Builder
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: ~Builder()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: ~PathInfo()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: '& path_info() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & path_info() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - Builder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathInfo(const Builder& builder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::PathMatcherNode
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wildcard
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_wildcard(bool wildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::api_proxy::path_matcher::PathMatcherLookupResult
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - is_multiple
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: espv2::api_proxy::path_matcher::PathMatcherLookupResult
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult(void* data, bool is_multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::Builder::Builder
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: ~Builder()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: ~PathInfo()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: '& path_info() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & path_info() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - Builder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathInfo(const Builder& builder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::PathMatcherNode
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wildcard
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_wildcard(bool wildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::api_proxy::path_matcher::PathMatcherLookupResult
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - is_multiple
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: espv2::api_proxy::path_matcher::PathMatcherLookupResult
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult(void* data, bool is_multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::Builder::Builder
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: ~Builder()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: ~PathInfo()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: '& path_info() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & path_info() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - Builder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathInfo(const Builder& builder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::PathMatcherNode
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wildcard
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_wildcard(bool wildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::api_proxy::path_matcher::PathMatcherLookupResult
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - is_multiple
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: espv2::api_proxy::path_matcher::PathMatcherLookupResult
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult(void* data, bool is_multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::Builder::Builder
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: ~Builder()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: ~PathInfo()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: '& path_info() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & path_info() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - Builder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathInfo(const Builder& builder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::PathMatcherNode
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wildcard
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_wildcard(bool wildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::api_proxy::path_matcher::PathMatcherLookupResult
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - is_multiple
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: espv2::api_proxy::path_matcher::PathMatcherLookupResult
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult(void* data, bool is_multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::Builder::Builder
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: ~Builder()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: ~PathInfo()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: '& path_info() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & path_info() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - Builder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathInfo(const Builder& builder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::PathMatcherNode
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wildcard
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_wildcard(bool wildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::api_proxy::path_matcher::PathMatcherLookupResult
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - is_multiple
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: espv2::api_proxy::path_matcher::PathMatcherLookupResult
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult(void* data, bool is_multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::Builder::Builder
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: ~Builder()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: ~PathInfo()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: '& path_info() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & path_info() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - Builder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathInfo(const Builder& builder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::PathMatcherNode
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wildcard
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_wildcard(bool wildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::api_proxy::path_matcher::PathMatcherLookupResult
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - is_multiple
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: espv2::api_proxy::path_matcher::PathMatcherLookupResult
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult(void* data, bool is_multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::Builder::Builder
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: ~Builder()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: ~PathInfo()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: '& path_info() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & path_info() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - Builder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathInfo(const Builder& builder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::PathMatcherNode
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wildcard
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_wildcard(bool wildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::api_proxy::path_matcher::PathMatcherLookupResult
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - is_multiple
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: espv2::api_proxy::path_matcher::PathMatcherLookupResult
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult(void* data, bool is_multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::Builder::Builder
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: ~Builder()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: ~PathInfo()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: '& path_info() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & path_info() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - Builder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathInfo(const Builder& builder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::PathMatcherNode
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wildcard
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_wildcard(bool wildcard)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::InsertOrReturnExisting
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:51,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 1
    functionsReached:
    - Collection::value_type
    - espv2::api_proxy::path_matcher::InsertOrReturnExisting
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    - Dst: Element::Element
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: espv2::api_proxy::path_matcher::LookupOrInsertNew
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    - Element::Element
    - Mapped
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:80,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:81,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: espv2::api_proxy::path_matcher::Find2KeysOrNull
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 1
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::InsertOrReturnExisting
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:51,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 2
    functionsReached:
    - Collection::value_type
    - espv2::api_proxy::path_matcher::InsertOrReturnExisting
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    - Dst: Element::Element
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: espv2::api_proxy::path_matcher::LookupOrInsertNew
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    - Element::Element
    - Mapped
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:80,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:81,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: espv2::api_proxy::path_matcher::Find2KeysOrNull
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: PathMatcherNode::PathInfo::Builder::Build() const
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo PathMatcherNode::PathInfo::Builder::Build()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: PathMatcherNode::~PathMatcherNode()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode::~PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:114,1
    - Dst: std::unique_ptr::children_::emplace
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:118,1
    - Dst: second::Clone
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::Clone
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    - std::unique_ptr::children_::emplace
    - second::Clone
    linkageType: ''
    returnType: std::unique_ptr<PathMatcherNode>
    signature: std::unique_ptr<PathMatcherNode> PathMatcherNode::Clone() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:144,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:148,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:149,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:151,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:156,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:163,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - current
    - end
    - http_method
    - result
    argTypes:
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 176
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 1
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
    - espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
    - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
    - find
    - end
    linkageType: ''
    returnType: void
    signature: "void PathMatcherNode::LookupPath(const RequestPathParts::const_iterator
      current,\n                                 const RequestPathParts::const_iterator
      end,\n                                 HttpMethod http_method,\n                                 PathMatcherLookupResult*
      result) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:181,1
    - Dst: path_info
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:181,1
    - Dst: path_info
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' node_path_info'
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - PathInfo
    - std::string
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::InsertPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - path_info
    - espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertPath(const PathInfo& node_path_info,\n
      \                                std::string http_method, void* method_data,\n
      \                                bool mark_duplicates)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: InsertOrReturnExisting
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:199,1
    - Dst: PathMatcherLookupResult
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:200,1
    - Dst: LookupOrInsertNew
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:210,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:212,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - current
    - end
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - std::vector<std::string>::const_iterator
    - std::vector<std::string>::const_iterator
    - HttpMethod
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 216
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 2
    functionsReached:
    - PathMatcherLookupResult
    - InsertOrReturnExisting
    - LookupOrInsertNew
    - espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
    - espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertTemplate(\n    const std::vector<std::string>::const_iterator
      current,\n    const std::vector<std::string>::const_iterator end, HttpMethod
      http_method,\n    void* method_data, bool mark_duplicates)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:222,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:223,1
    - Dst: auto::second::LookupPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - child_key
    - current
    - end
    - http_method
    - result
    argTypes:
    - std::string
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 1
    functionsReached:
    - auto::second::LookupPath
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::LookupPathFromChild(\n    const std::string
      child_key, const RequestPathParts::const_iterator current,\n    const RequestPathParts::const_iterator
      end, HttpMethod http_method,\n    PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Find2KeysOrNull
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - result
    argTypes:
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 1
    functionsReached:
    - Find2KeysOrNull
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::GetResultForHttpMethod(\n    HttpMethod key,
      PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 2
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::InsertOrReturnExisting
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:51,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 3
    functionsReached:
    - Collection::value_type
    - espv2::api_proxy::path_matcher::InsertOrReturnExisting
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    - Dst: Element::Element
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: espv2::api_proxy::path_matcher::LookupOrInsertNew
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    - Element::Element
    - Mapped
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:80,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:81,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: espv2::api_proxy::path_matcher::Find2KeysOrNull
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 3
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::InsertOrReturnExisting
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:51,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 4
    functionsReached:
    - Collection::value_type
    - espv2::api_proxy::path_matcher::InsertOrReturnExisting
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    - Dst: Element::Element
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: espv2::api_proxy::path_matcher::LookupOrInsertNew
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    - Element::Element
    - Mapped
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:80,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:81,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: espv2::api_proxy::path_matcher::Find2KeysOrNull
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: PathMatcherNode::PathInfo::Builder::Build() const
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo PathMatcherNode::PathInfo::Builder::Build()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: PathMatcherNode::~PathMatcherNode()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode::~PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:114,1
    - Dst: std::unique_ptr::children_::emplace
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:118,1
    - Dst: second::Clone
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::Clone
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    - std::unique_ptr::children_::emplace
    - second::Clone
    linkageType: ''
    returnType: std::unique_ptr<PathMatcherNode>
    signature: std::unique_ptr<PathMatcherNode> PathMatcherNode::Clone() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:144,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:148,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:149,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:151,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:156,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:163,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - current
    - end
    - http_method
    - result
    argTypes:
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 176
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 2
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
    - espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
    - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
    - find
    - end
    linkageType: ''
    returnType: void
    signature: "void PathMatcherNode::LookupPath(const RequestPathParts::const_iterator
      current,\n                                 const RequestPathParts::const_iterator
      end,\n                                 HttpMethod http_method,\n                                 PathMatcherLookupResult*
      result) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:181,1
    - Dst: path_info
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:181,1
    - Dst: path_info
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' node_path_info'
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - PathInfo
    - std::string
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::InsertPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - path_info
    - espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertPath(const PathInfo& node_path_info,\n
      \                                std::string http_method, void* method_data,\n
      \                                bool mark_duplicates)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: InsertOrReturnExisting
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:199,1
    - Dst: PathMatcherLookupResult
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:200,1
    - Dst: LookupOrInsertNew
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:210,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:212,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - current
    - end
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - std::vector<std::string>::const_iterator
    - std::vector<std::string>::const_iterator
    - HttpMethod
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 216
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 4
    functionsReached:
    - PathMatcherLookupResult
    - InsertOrReturnExisting
    - LookupOrInsertNew
    - espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
    - espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertTemplate(\n    const std::vector<std::string>::const_iterator
      current,\n    const std::vector<std::string>::const_iterator end, HttpMethod
      http_method,\n    void* method_data, bool mark_duplicates)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:222,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:223,1
    - Dst: auto::second::LookupPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - child_key
    - current
    - end
    - http_method
    - result
    argTypes:
    - std::string
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 2
    functionsReached:
    - auto::second::LookupPath
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::LookupPathFromChild(\n    const std::string
      child_key, const RequestPathParts::const_iterator current,\n    const RequestPathParts::const_iterator
      end, HttpMethod http_method,\n    PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Find2KeysOrNull
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - result
    argTypes:
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 2
    functionsReached:
    - Find2KeysOrNull
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::GetResultForHttpMethod(\n    HttpMethod key,
      PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 4
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::InsertOrReturnExisting
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:51,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 5
    functionsReached:
    - Collection::value_type
    - espv2::api_proxy::path_matcher::InsertOrReturnExisting
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    - Dst: Element::Element
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: espv2::api_proxy::path_matcher::LookupOrInsertNew
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    - Element::Element
    - Mapped
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:80,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:81,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: espv2::api_proxy::path_matcher::Find2KeysOrNull
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 5
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::InsertOrReturnExisting
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:51,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 6
    functionsReached:
    - Collection::value_type
    - espv2::api_proxy::path_matcher::InsertOrReturnExisting
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    - Dst: Element::Element
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: espv2::api_proxy::path_matcher::LookupOrInsertNew
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    - Element::Element
    - Mapped
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:80,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:81,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: espv2::api_proxy::path_matcher::Find2KeysOrNull
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: PathMatcherNode::PathInfo::Builder::Build() const
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo PathMatcherNode::PathInfo::Builder::Build()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: PathMatcherNode::~PathMatcherNode()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode::~PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:114,1
    - Dst: std::unique_ptr::children_::emplace
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:118,1
    - Dst: second::Clone
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::Clone
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    - std::unique_ptr::children_::emplace
    - second::Clone
    linkageType: ''
    returnType: std::unique_ptr<PathMatcherNode>
    signature: std::unique_ptr<PathMatcherNode> PathMatcherNode::Clone() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:144,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:148,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:149,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:151,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:156,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:163,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - current
    - end
    - http_method
    - result
    argTypes:
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 176
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 3
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
    - espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
    - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
    - find
    - end
    linkageType: ''
    returnType: void
    signature: "void PathMatcherNode::LookupPath(const RequestPathParts::const_iterator
      current,\n                                 const RequestPathParts::const_iterator
      end,\n                                 HttpMethod http_method,\n                                 PathMatcherLookupResult*
      result) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:181,1
    - Dst: path_info
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:181,1
    - Dst: path_info
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' node_path_info'
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - PathInfo
    - std::string
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::InsertPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - path_info
    - espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertPath(const PathInfo& node_path_info,\n
      \                                std::string http_method, void* method_data,\n
      \                                bool mark_duplicates)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: InsertOrReturnExisting
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:199,1
    - Dst: PathMatcherLookupResult
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:200,1
    - Dst: LookupOrInsertNew
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:210,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:212,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - current
    - end
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - std::vector<std::string>::const_iterator
    - std::vector<std::string>::const_iterator
    - HttpMethod
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 216
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 6
    functionsReached:
    - PathMatcherLookupResult
    - InsertOrReturnExisting
    - LookupOrInsertNew
    - espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
    - espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertTemplate(\n    const std::vector<std::string>::const_iterator
      current,\n    const std::vector<std::string>::const_iterator end, HttpMethod
      http_method,\n    void* method_data, bool mark_duplicates)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:222,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:223,1
    - Dst: auto::second::LookupPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - child_key
    - current
    - end
    - http_method
    - result
    argTypes:
    - std::string
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 3
    functionsReached:
    - auto::second::LookupPath
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::LookupPathFromChild(\n    const std::string
      child_key, const RequestPathParts::const_iterator current,\n    const RequestPathParts::const_iterator
      end, HttpMethod http_method,\n    PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Find2KeysOrNull
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - result
    argTypes:
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 3
    functionsReached:
    - Find2KeysOrNull
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::GetResultForHttpMethod(\n    HttpMethod key,
      PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 6
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::InsertOrReturnExisting
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:51,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 7
    functionsReached:
    - Collection::value_type
    - espv2::api_proxy::path_matcher::InsertOrReturnExisting
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    - Dst: Element::Element
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: espv2::api_proxy::path_matcher::LookupOrInsertNew
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    - Element::Element
    - Mapped
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:80,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:81,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: espv2::api_proxy::path_matcher::Find2KeysOrNull
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 7
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::InsertOrReturnExisting
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:51,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 8
    functionsReached:
    - Collection::value_type
    - espv2::api_proxy::path_matcher::InsertOrReturnExisting
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    - Dst: Element::Element
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: espv2::api_proxy::path_matcher::LookupOrInsertNew
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    - Element::Element
    - Mapped
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:80,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:81,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: espv2::api_proxy::path_matcher::Find2KeysOrNull
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: PathMatcherNode::PathInfo::Builder::Build() const
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo PathMatcherNode::PathInfo::Builder::Build()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: PathMatcherNode::~PathMatcherNode()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode::~PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:114,1
    - Dst: std::unique_ptr::children_::emplace
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:118,1
    - Dst: second::Clone
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::Clone
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    - std::unique_ptr::children_::emplace
    - second::Clone
    linkageType: ''
    returnType: std::unique_ptr<PathMatcherNode>
    signature: std::unique_ptr<PathMatcherNode> PathMatcherNode::Clone() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:144,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:148,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:149,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:151,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:156,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:163,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - current
    - end
    - http_method
    - result
    argTypes:
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 176
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 4
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
    - espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
    - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
    - find
    - end
    linkageType: ''
    returnType: void
    signature: "void PathMatcherNode::LookupPath(const RequestPathParts::const_iterator
      current,\n                                 const RequestPathParts::const_iterator
      end,\n                                 HttpMethod http_method,\n                                 PathMatcherLookupResult*
      result) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:181,1
    - Dst: path_info
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:181,1
    - Dst: path_info
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' node_path_info'
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - PathInfo
    - std::string
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::InsertPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - path_info
    - espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertPath(const PathInfo& node_path_info,\n
      \                                std::string http_method, void* method_data,\n
      \                                bool mark_duplicates)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: InsertOrReturnExisting
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:199,1
    - Dst: PathMatcherLookupResult
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:200,1
    - Dst: LookupOrInsertNew
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:210,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:212,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - current
    - end
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - std::vector<std::string>::const_iterator
    - std::vector<std::string>::const_iterator
    - HttpMethod
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 216
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 8
    functionsReached:
    - PathMatcherLookupResult
    - InsertOrReturnExisting
    - LookupOrInsertNew
    - espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
    - espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertTemplate(\n    const std::vector<std::string>::const_iterator
      current,\n    const std::vector<std::string>::const_iterator end, HttpMethod
      http_method,\n    void* method_data, bool mark_duplicates)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:222,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:223,1
    - Dst: auto::second::LookupPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - child_key
    - current
    - end
    - http_method
    - result
    argTypes:
    - std::string
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 4
    functionsReached:
    - auto::second::LookupPath
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::LookupPathFromChild(\n    const std::string
      child_key, const RequestPathParts::const_iterator current,\n    const RequestPathParts::const_iterator
      end, HttpMethod http_method,\n    PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Find2KeysOrNull
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - result
    argTypes:
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 4
    functionsReached:
    - Find2KeysOrNull
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::GetResultForHttpMethod(\n    HttpMethod key,
      PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 8
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::InsertOrReturnExisting
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:51,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 9
    functionsReached:
    - Collection::value_type
    - espv2::api_proxy::path_matcher::InsertOrReturnExisting
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    - Dst: Element::Element
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: espv2::api_proxy::path_matcher::LookupOrInsertNew
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    - Element::Element
    - Mapped
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:80,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:81,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: espv2::api_proxy::path_matcher::Find2KeysOrNull
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 9
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::InsertOrReturnExisting
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:51,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 10
    functionsReached:
    - Collection::value_type
    - espv2::api_proxy::path_matcher::InsertOrReturnExisting
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    - Dst: Element::Element
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: espv2::api_proxy::path_matcher::LookupOrInsertNew
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    - Element::Element
    - Mapped
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:80,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:81,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: espv2::api_proxy::path_matcher::Find2KeysOrNull
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: PathMatcherNode::PathInfo::Builder::Build() const
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo PathMatcherNode::PathInfo::Builder::Build()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: PathMatcherNode::~PathMatcherNode()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode::~PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:114,1
    - Dst: std::unique_ptr::children_::emplace
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:118,1
    - Dst: second::Clone
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::Clone
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    - std::unique_ptr::children_::emplace
    - second::Clone
    linkageType: ''
    returnType: std::unique_ptr<PathMatcherNode>
    signature: std::unique_ptr<PathMatcherNode> PathMatcherNode::Clone() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:144,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:148,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:149,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:151,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:156,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:163,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - current
    - end
    - http_method
    - result
    argTypes:
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 176
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 5
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
    - espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
    - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
    - find
    - end
    linkageType: ''
    returnType: void
    signature: "void PathMatcherNode::LookupPath(const RequestPathParts::const_iterator
      current,\n                                 const RequestPathParts::const_iterator
      end,\n                                 HttpMethod http_method,\n                                 PathMatcherLookupResult*
      result) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:181,1
    - Dst: path_info
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:181,1
    - Dst: path_info
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' node_path_info'
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - PathInfo
    - std::string
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::InsertPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - path_info
    - espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertPath(const PathInfo& node_path_info,\n
      \                                std::string http_method, void* method_data,\n
      \                                bool mark_duplicates)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: InsertOrReturnExisting
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:199,1
    - Dst: PathMatcherLookupResult
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:200,1
    - Dst: LookupOrInsertNew
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:210,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:212,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - current
    - end
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - std::vector<std::string>::const_iterator
    - std::vector<std::string>::const_iterator
    - HttpMethod
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 216
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 10
    functionsReached:
    - PathMatcherLookupResult
    - InsertOrReturnExisting
    - LookupOrInsertNew
    - espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
    - espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertTemplate(\n    const std::vector<std::string>::const_iterator
      current,\n    const std::vector<std::string>::const_iterator end, HttpMethod
      http_method,\n    void* method_data, bool mark_duplicates)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:222,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:223,1
    - Dst: auto::second::LookupPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - child_key
    - current
    - end
    - http_method
    - result
    argTypes:
    - std::string
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 5
    functionsReached:
    - auto::second::LookupPath
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::LookupPathFromChild(\n    const std::string
      child_key, const RequestPathParts::const_iterator current,\n    const RequestPathParts::const_iterator
      end, HttpMethod http_method,\n    PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Find2KeysOrNull
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - result
    argTypes:
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 5
    functionsReached:
    - Find2KeysOrNull
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::GetResultForHttpMethod(\n    HttpMethod key,
      PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 10
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::InsertOrReturnExisting
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:51,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 11
    functionsReached:
    - Collection::value_type
    - espv2::api_proxy::path_matcher::InsertOrReturnExisting
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    - Dst: Element::Element
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: espv2::api_proxy::path_matcher::LookupOrInsertNew
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    - Element::Element
    - Mapped
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:80,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:81,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: espv2::api_proxy::path_matcher::Find2KeysOrNull
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 11
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::InsertOrReturnExisting
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:51,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 12
    functionsReached:
    - Collection::value_type
    - espv2::api_proxy::path_matcher::InsertOrReturnExisting
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    - Dst: Element::Element
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: espv2::api_proxy::path_matcher::LookupOrInsertNew
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    - Element::Element
    - Mapped
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:80,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:81,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: espv2::api_proxy::path_matcher::Find2KeysOrNull
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: PathMatcherNode::PathInfo::Builder::Build() const
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo PathMatcherNode::PathInfo::Builder::Build()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: PathMatcherNode::~PathMatcherNode()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode::~PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:114,1
    - Dst: std::unique_ptr::children_::emplace
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:118,1
    - Dst: second::Clone
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::Clone
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    - std::unique_ptr::children_::emplace
    - second::Clone
    linkageType: ''
    returnType: std::unique_ptr<PathMatcherNode>
    signature: std::unique_ptr<PathMatcherNode> PathMatcherNode::Clone() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:144,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:148,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:149,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:151,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:156,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:163,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - current
    - end
    - http_method
    - result
    argTypes:
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 176
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 6
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
    - espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
    - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
    - find
    - end
    linkageType: ''
    returnType: void
    signature: "void PathMatcherNode::LookupPath(const RequestPathParts::const_iterator
      current,\n                                 const RequestPathParts::const_iterator
      end,\n                                 HttpMethod http_method,\n                                 PathMatcherLookupResult*
      result) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:181,1
    - Dst: path_info
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:181,1
    - Dst: path_info
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' node_path_info'
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - PathInfo
    - std::string
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::InsertPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - path_info
    - espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertPath(const PathInfo& node_path_info,\n
      \                                std::string http_method, void* method_data,\n
      \                                bool mark_duplicates)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: InsertOrReturnExisting
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:199,1
    - Dst: PathMatcherLookupResult
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:200,1
    - Dst: LookupOrInsertNew
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:210,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:212,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - current
    - end
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - std::vector<std::string>::const_iterator
    - std::vector<std::string>::const_iterator
    - HttpMethod
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 216
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 12
    functionsReached:
    - PathMatcherLookupResult
    - InsertOrReturnExisting
    - LookupOrInsertNew
    - espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
    - espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertTemplate(\n    const std::vector<std::string>::const_iterator
      current,\n    const std::vector<std::string>::const_iterator end, HttpMethod
      http_method,\n    void* method_data, bool mark_duplicates)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:222,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:223,1
    - Dst: auto::second::LookupPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - child_key
    - current
    - end
    - http_method
    - result
    argTypes:
    - std::string
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 6
    functionsReached:
    - auto::second::LookupPath
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::LookupPathFromChild(\n    const std::string
      child_key, const RequestPathParts::const_iterator current,\n    const RequestPathParts::const_iterator
      end, HttpMethod http_method,\n    PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Find2KeysOrNull
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - result
    argTypes:
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 6
    functionsReached:
    - Find2KeysOrNull
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::GetResultForHttpMethod(\n    HttpMethod key,
      PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 12
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::InsertOrReturnExisting
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:51,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 13
    functionsReached:
    - Collection::value_type
    - espv2::api_proxy::path_matcher::InsertOrReturnExisting
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    - Dst: Element::Element
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: espv2::api_proxy::path_matcher::LookupOrInsertNew
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    - Element::Element
    - Mapped
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:80,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:81,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: espv2::api_proxy::path_matcher::Find2KeysOrNull
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 13
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::InsertOrReturnExisting
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:51,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 14
    functionsReached:
    - Collection::value_type
    - espv2::api_proxy::path_matcher::InsertOrReturnExisting
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    - Dst: Element::Element
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: espv2::api_proxy::path_matcher::LookupOrInsertNew
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    - Element::Element
    - Mapped
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:80,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:81,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: espv2::api_proxy::path_matcher::Find2KeysOrNull
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: PathMatcherNode::PathInfo::Builder::Build() const
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo PathMatcherNode::PathInfo::Builder::Build()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: PathMatcherNode::~PathMatcherNode()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode::~PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:114,1
    - Dst: std::unique_ptr::children_::emplace
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:118,1
    - Dst: second::Clone
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::Clone
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    - std::unique_ptr::children_::emplace
    - second::Clone
    linkageType: ''
    returnType: std::unique_ptr<PathMatcherNode>
    signature: std::unique_ptr<PathMatcherNode> PathMatcherNode::Clone() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:144,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:148,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:149,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:151,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:156,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:163,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - current
    - end
    - http_method
    - result
    argTypes:
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 176
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 7
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
    - espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
    - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
    - find
    - end
    linkageType: ''
    returnType: void
    signature: "void PathMatcherNode::LookupPath(const RequestPathParts::const_iterator
      current,\n                                 const RequestPathParts::const_iterator
      end,\n                                 HttpMethod http_method,\n                                 PathMatcherLookupResult*
      result) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:181,1
    - Dst: path_info
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:181,1
    - Dst: path_info
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' node_path_info'
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - PathInfo
    - std::string
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::InsertPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - path_info
    - espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertPath(const PathInfo& node_path_info,\n
      \                                std::string http_method, void* method_data,\n
      \                                bool mark_duplicates)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: InsertOrReturnExisting
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:199,1
    - Dst: PathMatcherLookupResult
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:200,1
    - Dst: LookupOrInsertNew
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:210,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:212,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - current
    - end
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - std::vector<std::string>::const_iterator
    - std::vector<std::string>::const_iterator
    - HttpMethod
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 216
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 14
    functionsReached:
    - PathMatcherLookupResult
    - InsertOrReturnExisting
    - LookupOrInsertNew
    - espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
    - espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertTemplate(\n    const std::vector<std::string>::const_iterator
      current,\n    const std::vector<std::string>::const_iterator end, HttpMethod
      http_method,\n    void* method_data, bool mark_duplicates)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:222,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:223,1
    - Dst: auto::second::LookupPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - child_key
    - current
    - end
    - http_method
    - result
    argTypes:
    - std::string
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 7
    functionsReached:
    - auto::second::LookupPath
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::LookupPathFromChild(\n    const std::string
      child_key, const RequestPathParts::const_iterator current,\n    const RequestPathParts::const_iterator
      end, HttpMethod http_method,\n    PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Find2KeysOrNull
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - result
    argTypes:
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 7
    functionsReached:
    - Find2KeysOrNull
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::GetResultForHttpMethod(\n    HttpMethod key,
      PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 14
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::InsertOrReturnExisting
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:51,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 15
    functionsReached:
    - Collection::value_type
    - espv2::api_proxy::path_matcher::InsertOrReturnExisting
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    - Dst: Element::Element
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: espv2::api_proxy::path_matcher::LookupOrInsertNew
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    - Element::Element
    - Mapped
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:80,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:81,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: espv2::api_proxy::path_matcher::Find2KeysOrNull
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 15
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::InsertOrReturnExisting
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:51,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: espv2::api_proxy::path_matcher::InsertOrReturnExisting
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 16
    functionsReached:
    - Collection::value_type
    - espv2::api_proxy::path_matcher::InsertOrReturnExisting
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Collection::value_type
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:66,1
    - Dst: Mapped
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    - Dst: Element::Element
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: espv2::api_proxy::path_matcher::LookupOrInsertNew
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Collection::value_type
    - Collection*::insert
    - Element::Element
    - Mapped
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:80,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:81,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: espv2::api_proxy::path_matcher::Find2KeysOrNull
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - find
    - end
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: PathMatcherNode::PathInfo::Builder::Build() const
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo PathMatcherNode::PathInfo::Builder::Build()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: PathMatcherNode::~PathMatcherNode()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode::~PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:114,1
    - Dst: std::unique_ptr::children_::emplace
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:118,1
    - Dst: second::Clone
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::Clone
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    - std::unique_ptr::children_::emplace
    - second::Clone
    linkageType: ''
    returnType: std::unique_ptr<PathMatcherNode>
    signature: std::unique_ptr<PathMatcherNode> PathMatcherNode::Clone() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:144,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:148,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:149,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:151,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:156,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:163,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - current
    - end
    - http_method
    - result
    argTypes:
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 176
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 8
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
    - espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
    - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
    - find
    - end
    linkageType: ''
    returnType: void
    signature: "void PathMatcherNode::LookupPath(const RequestPathParts::const_iterator
      current,\n                                 const RequestPathParts::const_iterator
      end,\n                                 HttpMethod http_method,\n                                 PathMatcherLookupResult*
      result) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:181,1
    - Dst: path_info
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:181,1
    - Dst: path_info
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' node_path_info'
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - PathInfo
    - std::string
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 184
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::InsertPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - path_info
    - espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertPath(const PathInfo& node_path_info,\n
      \                                std::string http_method, void* method_data,\n
      \                                bool mark_duplicates)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: InsertOrReturnExisting
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:199,1
    - Dst: PathMatcherLookupResult
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:200,1
    - Dst: LookupOrInsertNew
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:210,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:212,1
    - Dst: espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - current
    - end
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - std::vector<std::string>::const_iterator
    - std::vector<std::string>::const_iterator
    - HttpMethod
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 216
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 16
    functionsReached:
    - PathMatcherLookupResult
    - InsertOrReturnExisting
    - LookupOrInsertNew
    - espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
    - espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertTemplate(\n    const std::vector<std::string>::const_iterator
      current,\n    const std::vector<std::string>::const_iterator end, HttpMethod
      http_method,\n    void* method_data, bool mark_duplicates)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:222,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:223,1
    - Dst: auto::second::LookupPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - child_key
    - current
    - end
    - http_method
    - result
    argTypes:
    - std::string
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 230
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 8
    functionsReached:
    - auto::second::LookupPath
    - find
    - end
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::LookupPathFromChild(\n    const std::string
      child_key, const RequestPathParts::const_iterator current,\n    const RequestPathParts::const_iterator
      end, HttpMethod http_method,\n    PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Find2KeysOrNull
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - result
    argTypes:
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
    functionUses: 8
    functionsReached:
    - Find2KeysOrNull
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::GetResultForHttpMethod(\n    HttpMethod key,
      PathMatcherLookupResult* result) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: paths
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:12,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::HttpTemplateInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 15
    functionName: espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - paths
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::HttpTemplateInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: paths
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:12,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::HttpTemplateInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 15
    functionName: espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - paths
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::HttpTemplateInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: paths
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:12,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::HttpTemplateInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 15
    functionName: espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - paths
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::HttpTemplateInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: paths
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:12,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::HttpTemplateInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 15
    functionName: espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - paths
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::HttpTemplateInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: paths
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:12,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::HttpTemplateInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 15
    functionName: espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - paths
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::HttpTemplateInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: paths
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:12,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::HttpTemplateInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 15
    functionName: espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - paths
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::HttpTemplateInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: paths
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:12,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::HttpTemplateInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 15
    functionName: espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - paths
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::HttpTemplateInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: paths
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:12,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::HttpTemplateInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 15
    functionName: espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - paths
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::HttpTemplateInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: paths
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:12,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::HttpTemplateInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 15
    functionName: espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - paths
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::HttpTemplateInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: paths
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:12,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::HttpTemplateInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 15
    functionName: espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - paths
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::HttpTemplateInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: paths
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:12,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::HttpTemplateInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 15
    functionName: espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - paths
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::HttpTemplateInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: paths
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:12,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::HttpTemplateInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 15
    functionName: espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - paths
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::HttpTemplateInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: paths
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:12,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::HttpTemplateInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 15
    functionName: espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - paths
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::HttpTemplateInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: paths
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:12,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::HttpTemplateInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 15
    functionName: espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - paths
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::HttpTemplateInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: paths
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:12,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::HttpTemplateInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 15
    functionName: espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - paths
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::HttpTemplateInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: paths
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:12,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc:13,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::HttpTemplateInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 10
    functionDepth: 1
    functionLinenumber: 10
    functionLinenumberEnd: 15
    functionName: espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - paths
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::HttpTemplateInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:24,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:24,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:25,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:25,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:31,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:37,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 45
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    linkageType: ''
    returnType: void
    signature: void TEST(VariableBindingsToQueryParameters, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:24,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:24,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:25,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:25,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:31,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:37,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 45
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    linkageType: ''
    returnType: void
    signature: void TEST(VariableBindingsToQueryParameters, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:24,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:24,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:25,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:25,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:31,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:37,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 45
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    linkageType: ''
    returnType: void
    signature: void TEST(VariableBindingsToQueryParameters, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:24,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:24,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:25,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:25,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:31,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:37,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 45
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    linkageType: ''
    returnType: void
    signature: void TEST(VariableBindingsToQueryParameters, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:24,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:24,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:25,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:25,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:31,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:37,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 45
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    linkageType: ''
    returnType: void
    signature: void TEST(VariableBindingsToQueryParameters, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:24,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:24,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:25,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:25,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:31,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:37,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 45
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    linkageType: ''
    returnType: void
    signature: void TEST(VariableBindingsToQueryParameters, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:24,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:24,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:25,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:25,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:31,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:37,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 45
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    linkageType: ''
    returnType: void
    signature: void TEST(VariableBindingsToQueryParameters, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:24,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:24,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:25,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:25,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:31,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:31,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:37,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 45
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    linkageType: ''
    returnType: void
    signature: void TEST(VariableBindingsToQueryParameters, Test)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& segments() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & segments() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& verb() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & verb() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& Variables()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Variable>
    signature: std::vector<Variable> & Variables()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.h:59,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.h:60,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.h:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - ' segments'
    - ' verb'
    - ' variables'
    argTypes:
    - std::vector<std::string>
    - std::string
    - std::vector<Variable>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: espv2::api_proxy::path_matcher::HttpTemplate::HttpTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void HttpTemplate(std::vector<std::string>&& segments, std::string&&
      verb,\n               std::vector<Variable>&& variables)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& segments() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & segments() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& verb() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & verb() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& Variables()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Variable>
    signature: std::vector<Variable> & Variables()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.h:59,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.h:60,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.h:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - ' segments'
    - ' verb'
    - ' variables'
    argTypes:
    - std::vector<std::string>
    - std::string
    - std::vector<Variable>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: espv2::api_proxy::path_matcher::HttpTemplate::HttpTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void HttpTemplate(std::vector<std::string>&& segments, std::string&&
      verb,\n               std::vector<Variable>&& variables)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& segments() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & segments() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& verb() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & verb() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& Variables()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Variable>
    signature: std::vector<Variable> & Variables()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.h:59,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.h:60,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.h:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - ' segments'
    - ' verb'
    - ' variables'
    argTypes:
    - std::vector<std::string>
    - std::string
    - std::vector<Variable>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: espv2::api_proxy::path_matcher::HttpTemplate::HttpTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void HttpTemplate(std::vector<std::string>&& segments, std::string&&
      verb,\n               std::vector<Variable>&& variables)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& segments() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & segments() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& verb() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & verb() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& Variables()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Variable>
    signature: std::vector<Variable> & Variables()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.h:59,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.h:60,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.h:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - ' segments'
    - ' verb'
    - ' variables'
    argTypes:
    - std::vector<std::string>
    - std::string
    - std::vector<Variable>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: espv2::api_proxy::path_matcher::HttpTemplate::HttpTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void HttpTemplate(std::vector<std::string>&& segments, std::string&&
      verb,\n               std::vector<Variable>&& variables)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& segments() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & segments() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& verb() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & verb() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& Variables()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Variable>
    signature: std::vector<Variable> & Variables()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.h:59,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.h:60,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.h:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - ' segments'
    - ' verb'
    - ' variables'
    argTypes:
    - std::vector<std::string>
    - std::string
    - std::vector<Variable>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: espv2::api_proxy::path_matcher::HttpTemplate::HttpTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void HttpTemplate(std::vector<std::string>&& segments, std::string&&
      verb,\n               std::vector<Variable>&& variables)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& segments() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & segments() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& verb() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & verb() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& Variables()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Variable>
    signature: std::vector<Variable> & Variables()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.h:59,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.h:60,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.h:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - ' segments'
    - ' verb'
    - ' variables'
    argTypes:
    - std::vector<std::string>
    - std::string
    - std::vector<Variable>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: espv2::api_proxy::path_matcher::HttpTemplate::HttpTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void HttpTemplate(std::vector<std::string>&& segments, std::string&&
      verb,\n               std::vector<Variable>&& variables)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& segments() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & segments() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& verb() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & verb() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& Variables()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Variable>
    signature: std::vector<Variable> & Variables()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.h:59,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.h:60,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.h:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - ' segments'
    - ' verb'
    - ' variables'
    argTypes:
    - std::vector<std::string>
    - std::string
    - std::vector<Variable>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: espv2::api_proxy::path_matcher::HttpTemplate::HttpTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void HttpTemplate(std::vector<std::string>&& segments, std::string&&
      verb,\n               std::vector<Variable>&& variables)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: '& segments() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & segments() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& verb() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & verb() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: '& Variables()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Variable>
    signature: std::vector<Variable> & Variables()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.h:59,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.h:60,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.h:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - ' segments'
    - ' verb'
    - ' variables'
    argTypes:
    - std::vector<std::string>
    - std::string
    - std::vector<Variable>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: espv2::api_proxy::path_matcher::HttpTemplate::HttpTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void HttpTemplate(std::vector<std::string>&& segments, std::string&&
      verb,\n               std::vector<Variable>&& variables)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::Parser::Parser
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string& input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: espv2::api_proxy::path_matcher::Parser::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseTemplate
    - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& segments()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& verb()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& variables()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> & variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateParts
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:77,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:81,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVerb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::Parser::ParseTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 1
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - espv2::api_proxy::path_matcher::Parser::ParseVerb
    - espv2::api_proxy::path_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:95,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:100,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegments
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 1
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseSegment
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:111,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:114,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:116,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:117,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:119,1
    - Dst: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:121,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:125,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:131,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 135
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 1
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    - espv2::api_proxy::path_matcher::Parser::current_char
    - push_back
    - espv2::api_proxy::path_matcher::Parser::ParseVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:139,1
    - Dst: espv2::api_proxy::path_matcher::Parser::StartVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:142,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:145,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:148,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:149,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:154,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EndVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:156,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 163
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 1
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::EndVariable
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - push_back
    - espv2::api_proxy::path_matcher::Parser::StartVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:167,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 1
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:176,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:179,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 1
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:189,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVerb
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 1
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:200,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:202,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:208,1
    - Dst: std::string::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:209,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 1
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - std::move
    - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:218,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:227,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:233,1
    - Dst: std::string*::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:234,1
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 245
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteral
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 2
    functionsReached:
    - std::string*::push_back
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string* lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:248,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: espv2::api_proxy::path_matcher::Parser::Consume
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 8
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 3
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: espv2::api_proxy::path_matcher::Parser::NextChar
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 4
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: espv2::api_proxy::path_matcher::Parser::current_char
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 5
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: '& CurrentVariable()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable & CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:280,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: espv2::api_proxy::path_matcher::Parser::StartVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 1
    functionsReached:
    - size
    - CurrentVariable
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:292,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ValidateVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: espv2::api_proxy::path_matcher::Parser::EndVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 1
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ValidateVariable
    - size
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:303,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 1
    functionsReached:
    - std::move
    - CurrentVariable
    - empty
    - emplace_back
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:313,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 1
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: field_path::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:323,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - size
    - field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable& var)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:335,1
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 1
    functionsReached:
    - size
    - empty
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::Parser::Parser
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string& input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: espv2::api_proxy::path_matcher::Parser::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseTemplate
    - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& segments()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& verb()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& variables()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> & variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateParts
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:77,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:81,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVerb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::Parser::ParseTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 2
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - espv2::api_proxy::path_matcher::Parser::ParseVerb
    - espv2::api_proxy::path_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:95,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:100,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegments
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 3
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseSegment
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:111,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:114,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:116,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:117,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:119,1
    - Dst: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:121,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:125,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:131,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 135
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 2
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    - espv2::api_proxy::path_matcher::Parser::current_char
    - push_back
    - espv2::api_proxy::path_matcher::Parser::ParseVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:139,1
    - Dst: espv2::api_proxy::path_matcher::Parser::StartVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:142,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:145,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:148,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:149,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:154,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EndVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:156,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 163
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 2
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::EndVariable
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - push_back
    - espv2::api_proxy::path_matcher::Parser::StartVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:167,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 2
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:176,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:179,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 2
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:189,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVerb
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 2
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:200,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:202,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:208,1
    - Dst: std::string::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:209,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 2
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - std::move
    - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:218,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:227,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:233,1
    - Dst: std::string*::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:234,1
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 245
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteral
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 4
    functionsReached:
    - std::string*::push_back
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string* lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:248,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: espv2::api_proxy::path_matcher::Parser::Consume
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 16
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 2
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 6
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: espv2::api_proxy::path_matcher::Parser::NextChar
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 8
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: espv2::api_proxy::path_matcher::Parser::current_char
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 10
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: '& CurrentVariable()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable & CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:280,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: espv2::api_proxy::path_matcher::Parser::StartVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 2
    functionsReached:
    - size
    - CurrentVariable
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:292,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ValidateVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: espv2::api_proxy::path_matcher::Parser::EndVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 2
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ValidateVariable
    - size
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:303,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 2
    functionsReached:
    - std::move
    - CurrentVariable
    - empty
    - emplace_back
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:313,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 2
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: field_path::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:323,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - size
    - field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable& var)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:335,1
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 2
    functionsReached:
    - size
    - empty
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:370,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:370,1
    - Dst: Parser::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:374,1
    - Dst: Parser::ValidateParts
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:374,1
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:378,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: Parser::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: Parser::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: Parser::variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' ht'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 380
    functionName: espv2::api_proxy::path_matcher::HttpTemplate::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 16
    functionsReached:
    - Parser::segments
    - Parser::Parse
    - Parser::verb
    - HttpTemplate::HttpTemplate
    - std::move
    - Parser::variables
    - std::unique_ptr<HttpTemplate>
    - Parser::ValidateParts
    linkageType: ''
    returnType: std::unique_ptr<HttpTemplate>
    signature: std::unique_ptr<HttpTemplate> HttpTemplate::Parse(const std::string&
      ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::Parser::Parser
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string& input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: espv2::api_proxy::path_matcher::Parser::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseTemplate
    - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& segments()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& verb()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& variables()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> & variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateParts
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:77,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:81,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVerb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::Parser::ParseTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 3
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - espv2::api_proxy::path_matcher::Parser::ParseVerb
    - espv2::api_proxy::path_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:95,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:100,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegments
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 5
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseSegment
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:111,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:114,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:116,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:117,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:119,1
    - Dst: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:121,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:125,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:131,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 135
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 3
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    - espv2::api_proxy::path_matcher::Parser::current_char
    - push_back
    - espv2::api_proxy::path_matcher::Parser::ParseVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:139,1
    - Dst: espv2::api_proxy::path_matcher::Parser::StartVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:142,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:145,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:148,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:149,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:154,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EndVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:156,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 163
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 3
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::EndVariable
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - push_back
    - espv2::api_proxy::path_matcher::Parser::StartVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:167,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 3
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:176,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:179,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 3
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:189,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVerb
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 3
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:200,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:202,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:208,1
    - Dst: std::string::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:209,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 3
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - std::move
    - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:218,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:227,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:233,1
    - Dst: std::string*::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:234,1
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 245
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteral
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 6
    functionsReached:
    - std::string*::push_back
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string* lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:248,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: espv2::api_proxy::path_matcher::Parser::Consume
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 24
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 3
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 9
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: espv2::api_proxy::path_matcher::Parser::NextChar
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 12
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: espv2::api_proxy::path_matcher::Parser::current_char
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 15
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: '& CurrentVariable()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable & CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:280,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: espv2::api_proxy::path_matcher::Parser::StartVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 3
    functionsReached:
    - size
    - CurrentVariable
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:292,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ValidateVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: espv2::api_proxy::path_matcher::Parser::EndVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 3
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ValidateVariable
    - size
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:303,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 3
    functionsReached:
    - std::move
    - CurrentVariable
    - empty
    - emplace_back
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:313,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 3
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: field_path::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:323,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 3
    functionsReached:
    - static_cast<int>
    - size
    - field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable& var)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:335,1
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 3
    functionsReached:
    - size
    - empty
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::Parser::Parser
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string& input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: espv2::api_proxy::path_matcher::Parser::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseTemplate
    - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& segments()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& verb()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& variables()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> & variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateParts
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:77,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:81,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVerb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::Parser::ParseTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 4
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - espv2::api_proxy::path_matcher::Parser::ParseVerb
    - espv2::api_proxy::path_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:95,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:100,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegments
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 7
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseSegment
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:111,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:114,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:116,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:117,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:119,1
    - Dst: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:121,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:125,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:131,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 135
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 4
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    - espv2::api_proxy::path_matcher::Parser::current_char
    - push_back
    - espv2::api_proxy::path_matcher::Parser::ParseVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:139,1
    - Dst: espv2::api_proxy::path_matcher::Parser::StartVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:142,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:145,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:148,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:149,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:154,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EndVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:156,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 163
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 4
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::EndVariable
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - push_back
    - espv2::api_proxy::path_matcher::Parser::StartVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:167,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 4
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:176,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:179,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 4
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:189,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVerb
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 4
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:200,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:202,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:208,1
    - Dst: std::string::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:209,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 4
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - std::move
    - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:218,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:227,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:233,1
    - Dst: std::string*::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:234,1
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 245
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteral
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 8
    functionsReached:
    - std::string*::push_back
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string* lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:248,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: espv2::api_proxy::path_matcher::Parser::Consume
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 32
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 4
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 12
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: espv2::api_proxy::path_matcher::Parser::NextChar
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 16
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: espv2::api_proxy::path_matcher::Parser::current_char
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 20
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: '& CurrentVariable()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable & CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:280,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: espv2::api_proxy::path_matcher::Parser::StartVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 4
    functionsReached:
    - size
    - CurrentVariable
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:292,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ValidateVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: espv2::api_proxy::path_matcher::Parser::EndVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 4
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ValidateVariable
    - size
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:303,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 4
    functionsReached:
    - std::move
    - CurrentVariable
    - empty
    - emplace_back
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:313,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 4
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: field_path::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:323,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 4
    functionsReached:
    - static_cast<int>
    - size
    - field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable& var)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:335,1
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 4
    functionsReached:
    - size
    - empty
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:370,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:370,1
    - Dst: Parser::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:374,1
    - Dst: Parser::ValidateParts
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:374,1
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:378,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: Parser::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: Parser::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: Parser::variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' ht'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 380
    functionName: espv2::api_proxy::path_matcher::HttpTemplate::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 16
    functionsReached:
    - Parser::segments
    - Parser::Parse
    - Parser::verb
    - HttpTemplate::HttpTemplate
    - std::move
    - Parser::variables
    - std::unique_ptr<HttpTemplate>
    - Parser::ValidateParts
    linkageType: ''
    returnType: std::unique_ptr<HttpTemplate>
    signature: std::unique_ptr<HttpTemplate> HttpTemplate::Parse(const std::string&
      ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::Parser::Parser
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string& input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: espv2::api_proxy::path_matcher::Parser::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseTemplate
    - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& segments()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& verb()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& variables()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> & variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateParts
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:77,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:81,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVerb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::Parser::ParseTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 5
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - espv2::api_proxy::path_matcher::Parser::ParseVerb
    - espv2::api_proxy::path_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:95,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:100,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegments
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 9
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseSegment
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:111,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:114,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:116,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:117,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:119,1
    - Dst: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:121,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:125,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:131,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 135
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 5
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    - espv2::api_proxy::path_matcher::Parser::current_char
    - push_back
    - espv2::api_proxy::path_matcher::Parser::ParseVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:139,1
    - Dst: espv2::api_proxy::path_matcher::Parser::StartVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:142,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:145,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:148,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:149,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:154,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EndVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:156,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 163
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 5
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::EndVariable
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - push_back
    - espv2::api_proxy::path_matcher::Parser::StartVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:167,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 5
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:176,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:179,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 5
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:189,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVerb
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 5
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:200,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:202,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:208,1
    - Dst: std::string::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:209,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 5
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - std::move
    - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:218,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:227,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:233,1
    - Dst: std::string*::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:234,1
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 245
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteral
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 10
    functionsReached:
    - std::string*::push_back
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string* lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:248,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: espv2::api_proxy::path_matcher::Parser::Consume
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 40
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 5
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 15
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: espv2::api_proxy::path_matcher::Parser::NextChar
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 20
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: espv2::api_proxy::path_matcher::Parser::current_char
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 25
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: '& CurrentVariable()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable & CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:280,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: espv2::api_proxy::path_matcher::Parser::StartVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 5
    functionsReached:
    - size
    - CurrentVariable
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:292,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ValidateVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: espv2::api_proxy::path_matcher::Parser::EndVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 5
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ValidateVariable
    - size
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:303,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 5
    functionsReached:
    - std::move
    - CurrentVariable
    - empty
    - emplace_back
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:313,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 5
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: field_path::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:323,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 5
    functionsReached:
    - static_cast<int>
    - size
    - field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable& var)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:335,1
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 5
    functionsReached:
    - size
    - empty
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::Parser::Parser
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string& input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: espv2::api_proxy::path_matcher::Parser::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseTemplate
    - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& segments()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& verb()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& variables()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> & variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateParts
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:77,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:81,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVerb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::Parser::ParseTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 6
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - espv2::api_proxy::path_matcher::Parser::ParseVerb
    - espv2::api_proxy::path_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:95,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:100,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegments
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 11
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseSegment
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:111,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:114,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:116,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:117,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:119,1
    - Dst: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:121,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:125,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:131,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 135
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 6
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    - espv2::api_proxy::path_matcher::Parser::current_char
    - push_back
    - espv2::api_proxy::path_matcher::Parser::ParseVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:139,1
    - Dst: espv2::api_proxy::path_matcher::Parser::StartVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:142,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:145,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:148,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:149,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:154,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EndVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:156,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 163
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 6
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::EndVariable
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - push_back
    - espv2::api_proxy::path_matcher::Parser::StartVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:167,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 6
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:176,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:179,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 6
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:189,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVerb
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 6
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:200,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:202,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:208,1
    - Dst: std::string::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:209,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 6
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - std::move
    - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:218,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:227,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:233,1
    - Dst: std::string*::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:234,1
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 245
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteral
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 12
    functionsReached:
    - std::string*::push_back
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string* lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:248,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: espv2::api_proxy::path_matcher::Parser::Consume
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 48
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 6
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 18
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: espv2::api_proxy::path_matcher::Parser::NextChar
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 24
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: espv2::api_proxy::path_matcher::Parser::current_char
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 30
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: '& CurrentVariable()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable & CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:280,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: espv2::api_proxy::path_matcher::Parser::StartVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 6
    functionsReached:
    - size
    - CurrentVariable
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:292,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ValidateVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: espv2::api_proxy::path_matcher::Parser::EndVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 6
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ValidateVariable
    - size
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:303,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 6
    functionsReached:
    - std::move
    - CurrentVariable
    - empty
    - emplace_back
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:313,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 6
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: field_path::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:323,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 6
    functionsReached:
    - static_cast<int>
    - size
    - field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable& var)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:335,1
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 6
    functionsReached:
    - size
    - empty
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:370,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:370,1
    - Dst: Parser::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:374,1
    - Dst: Parser::ValidateParts
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:374,1
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:378,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: Parser::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: Parser::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: Parser::variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' ht'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 380
    functionName: espv2::api_proxy::path_matcher::HttpTemplate::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 16
    functionsReached:
    - Parser::segments
    - Parser::Parse
    - Parser::verb
    - HttpTemplate::HttpTemplate
    - std::move
    - Parser::variables
    - std::unique_ptr<HttpTemplate>
    - Parser::ValidateParts
    linkageType: ''
    returnType: std::unique_ptr<HttpTemplate>
    signature: std::unique_ptr<HttpTemplate> HttpTemplate::Parse(const std::string&
      ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::Parser::Parser
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string& input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: espv2::api_proxy::path_matcher::Parser::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseTemplate
    - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& segments()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& verb()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& variables()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> & variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateParts
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:77,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:81,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVerb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::Parser::ParseTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 7
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - espv2::api_proxy::path_matcher::Parser::ParseVerb
    - espv2::api_proxy::path_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:95,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:100,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegments
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 13
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseSegment
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:111,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:114,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:116,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:117,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:119,1
    - Dst: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:121,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:125,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:131,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 135
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 7
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    - espv2::api_proxy::path_matcher::Parser::current_char
    - push_back
    - espv2::api_proxy::path_matcher::Parser::ParseVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:139,1
    - Dst: espv2::api_proxy::path_matcher::Parser::StartVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:142,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:145,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:148,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:149,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:154,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EndVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:156,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 163
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 7
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::EndVariable
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - push_back
    - espv2::api_proxy::path_matcher::Parser::StartVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:167,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 7
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:176,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:179,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 7
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:189,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVerb
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 7
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:200,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:202,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:208,1
    - Dst: std::string::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:209,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 7
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - std::move
    - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:218,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:227,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:233,1
    - Dst: std::string*::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:234,1
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 245
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteral
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 14
    functionsReached:
    - std::string*::push_back
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string* lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:248,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: espv2::api_proxy::path_matcher::Parser::Consume
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 56
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 7
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 21
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: espv2::api_proxy::path_matcher::Parser::NextChar
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 28
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: espv2::api_proxy::path_matcher::Parser::current_char
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 35
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: '& CurrentVariable()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable & CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:280,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: espv2::api_proxy::path_matcher::Parser::StartVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 7
    functionsReached:
    - size
    - CurrentVariable
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:292,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ValidateVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: espv2::api_proxy::path_matcher::Parser::EndVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 7
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ValidateVariable
    - size
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:303,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 7
    functionsReached:
    - std::move
    - CurrentVariable
    - empty
    - emplace_back
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:313,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 7
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: field_path::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:323,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 7
    functionsReached:
    - static_cast<int>
    - size
    - field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable& var)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:335,1
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 7
    functionsReached:
    - size
    - empty
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::Parser::Parser
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string& input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: espv2::api_proxy::path_matcher::Parser::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseTemplate
    - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& segments()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& verb()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& variables()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> & variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateParts
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:77,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:81,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVerb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::Parser::ParseTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 8
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - espv2::api_proxy::path_matcher::Parser::ParseVerb
    - espv2::api_proxy::path_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:95,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:100,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegments
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 15
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseSegment
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:111,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:114,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:116,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:117,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:119,1
    - Dst: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:121,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:125,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:131,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 135
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 8
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    - espv2::api_proxy::path_matcher::Parser::current_char
    - push_back
    - espv2::api_proxy::path_matcher::Parser::ParseVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:139,1
    - Dst: espv2::api_proxy::path_matcher::Parser::StartVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:142,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:145,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:148,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:149,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:154,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EndVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:156,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 163
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 8
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::EndVariable
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - push_back
    - espv2::api_proxy::path_matcher::Parser::StartVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:167,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 8
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:176,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:179,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 8
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:189,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVerb
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 8
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:200,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:202,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:208,1
    - Dst: std::string::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:209,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 8
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - std::move
    - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:218,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:227,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:233,1
    - Dst: std::string*::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:234,1
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 245
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteral
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 16
    functionsReached:
    - std::string*::push_back
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string* lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:248,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: espv2::api_proxy::path_matcher::Parser::Consume
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 64
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 8
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 24
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: espv2::api_proxy::path_matcher::Parser::NextChar
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 32
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: espv2::api_proxy::path_matcher::Parser::current_char
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 40
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: '& CurrentVariable()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable & CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:280,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: espv2::api_proxy::path_matcher::Parser::StartVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 8
    functionsReached:
    - size
    - CurrentVariable
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:292,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ValidateVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: espv2::api_proxy::path_matcher::Parser::EndVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 8
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ValidateVariable
    - size
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:303,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 8
    functionsReached:
    - std::move
    - CurrentVariable
    - empty
    - emplace_back
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:313,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 8
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: field_path::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:323,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 8
    functionsReached:
    - static_cast<int>
    - size
    - field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable& var)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:335,1
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 8
    functionsReached:
    - size
    - empty
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:370,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:370,1
    - Dst: Parser::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:374,1
    - Dst: Parser::ValidateParts
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:374,1
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:378,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: Parser::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: Parser::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: Parser::variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' ht'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 380
    functionName: espv2::api_proxy::path_matcher::HttpTemplate::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 16
    functionsReached:
    - Parser::segments
    - Parser::Parse
    - Parser::verb
    - HttpTemplate::HttpTemplate
    - std::move
    - Parser::variables
    - std::unique_ptr<HttpTemplate>
    - Parser::ValidateParts
    linkageType: ''
    returnType: std::unique_ptr<HttpTemplate>
    signature: std::unique_ptr<HttpTemplate> HttpTemplate::Parse(const std::string&
      ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::Parser::Parser
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string& input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: espv2::api_proxy::path_matcher::Parser::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseTemplate
    - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& segments()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& verb()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& variables()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> & variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateParts
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:77,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:81,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVerb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::Parser::ParseTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 9
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - espv2::api_proxy::path_matcher::Parser::ParseVerb
    - espv2::api_proxy::path_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:95,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:100,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegments
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 17
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseSegment
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:111,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:114,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:116,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:117,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:119,1
    - Dst: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:121,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:125,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:131,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 135
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 9
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    - espv2::api_proxy::path_matcher::Parser::current_char
    - push_back
    - espv2::api_proxy::path_matcher::Parser::ParseVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:139,1
    - Dst: espv2::api_proxy::path_matcher::Parser::StartVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:142,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:145,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:148,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:149,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:154,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EndVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:156,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 163
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 9
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::EndVariable
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - push_back
    - espv2::api_proxy::path_matcher::Parser::StartVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:167,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 9
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:176,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:179,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 9
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:189,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVerb
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 9
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:200,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:202,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:208,1
    - Dst: std::string::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:209,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 9
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - std::move
    - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:218,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:227,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:233,1
    - Dst: std::string*::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:234,1
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 245
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteral
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 18
    functionsReached:
    - std::string*::push_back
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string* lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:248,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: espv2::api_proxy::path_matcher::Parser::Consume
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 72
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 9
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 27
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: espv2::api_proxy::path_matcher::Parser::NextChar
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 36
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: espv2::api_proxy::path_matcher::Parser::current_char
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 45
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: '& CurrentVariable()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable & CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:280,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: espv2::api_proxy::path_matcher::Parser::StartVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 9
    functionsReached:
    - size
    - CurrentVariable
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:292,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ValidateVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: espv2::api_proxy::path_matcher::Parser::EndVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 9
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ValidateVariable
    - size
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:303,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 9
    functionsReached:
    - std::move
    - CurrentVariable
    - empty
    - emplace_back
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:313,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 9
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: field_path::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:323,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 9
    functionsReached:
    - static_cast<int>
    - size
    - field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable& var)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:335,1
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 9
    functionsReached:
    - size
    - empty
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::Parser::Parser
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string& input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: espv2::api_proxy::path_matcher::Parser::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseTemplate
    - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& segments()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& verb()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& variables()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> & variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateParts
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:77,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:81,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVerb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::Parser::ParseTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 10
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - espv2::api_proxy::path_matcher::Parser::ParseVerb
    - espv2::api_proxy::path_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:95,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:100,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegments
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 19
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseSegment
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:111,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:114,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:116,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:117,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:119,1
    - Dst: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:121,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:125,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:131,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 135
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 10
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    - espv2::api_proxy::path_matcher::Parser::current_char
    - push_back
    - espv2::api_proxy::path_matcher::Parser::ParseVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:139,1
    - Dst: espv2::api_proxy::path_matcher::Parser::StartVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:142,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:145,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:148,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:149,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:154,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EndVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:156,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 163
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 10
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::EndVariable
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - push_back
    - espv2::api_proxy::path_matcher::Parser::StartVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:167,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 10
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:176,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:179,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 10
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:189,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVerb
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 10
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:200,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:202,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:208,1
    - Dst: std::string::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:209,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 10
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - std::move
    - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:218,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:227,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:233,1
    - Dst: std::string*::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:234,1
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 245
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteral
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 20
    functionsReached:
    - std::string*::push_back
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string* lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:248,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: espv2::api_proxy::path_matcher::Parser::Consume
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 80
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 10
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 30
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: espv2::api_proxy::path_matcher::Parser::NextChar
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 40
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: espv2::api_proxy::path_matcher::Parser::current_char
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 50
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: '& CurrentVariable()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable & CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:280,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: espv2::api_proxy::path_matcher::Parser::StartVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 10
    functionsReached:
    - size
    - CurrentVariable
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:292,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ValidateVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: espv2::api_proxy::path_matcher::Parser::EndVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 10
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ValidateVariable
    - size
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:303,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 10
    functionsReached:
    - std::move
    - CurrentVariable
    - empty
    - emplace_back
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:313,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 10
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: field_path::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:323,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 10
    functionsReached:
    - static_cast<int>
    - size
    - field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable& var)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:335,1
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 10
    functionsReached:
    - size
    - empty
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:370,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:370,1
    - Dst: Parser::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:374,1
    - Dst: Parser::ValidateParts
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:374,1
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:378,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: Parser::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: Parser::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: Parser::variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' ht'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 380
    functionName: espv2::api_proxy::path_matcher::HttpTemplate::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 16
    functionsReached:
    - Parser::segments
    - Parser::Parse
    - Parser::verb
    - HttpTemplate::HttpTemplate
    - std::move
    - Parser::variables
    - std::unique_ptr<HttpTemplate>
    - Parser::ValidateParts
    linkageType: ''
    returnType: std::unique_ptr<HttpTemplate>
    signature: std::unique_ptr<HttpTemplate> HttpTemplate::Parse(const std::string&
      ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::Parser::Parser
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string& input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: espv2::api_proxy::path_matcher::Parser::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseTemplate
    - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& segments()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& verb()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& variables()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> & variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateParts
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:77,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:81,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVerb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::Parser::ParseTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 11
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - espv2::api_proxy::path_matcher::Parser::ParseVerb
    - espv2::api_proxy::path_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:95,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:100,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegments
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 21
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseSegment
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:111,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:114,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:116,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:117,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:119,1
    - Dst: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:121,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:125,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:131,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 135
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 11
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    - espv2::api_proxy::path_matcher::Parser::current_char
    - push_back
    - espv2::api_proxy::path_matcher::Parser::ParseVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:139,1
    - Dst: espv2::api_proxy::path_matcher::Parser::StartVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:142,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:145,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:148,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:149,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:154,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EndVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:156,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 163
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 11
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::EndVariable
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - push_back
    - espv2::api_proxy::path_matcher::Parser::StartVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:167,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 11
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:176,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:179,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 11
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:189,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVerb
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 11
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:200,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:202,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:208,1
    - Dst: std::string::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:209,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 11
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - std::move
    - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:218,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:227,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:233,1
    - Dst: std::string*::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:234,1
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 245
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteral
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 22
    functionsReached:
    - std::string*::push_back
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string* lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:248,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: espv2::api_proxy::path_matcher::Parser::Consume
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 88
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 11
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 33
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: espv2::api_proxy::path_matcher::Parser::NextChar
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 44
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: espv2::api_proxy::path_matcher::Parser::current_char
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 55
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: '& CurrentVariable()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable & CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:280,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: espv2::api_proxy::path_matcher::Parser::StartVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 11
    functionsReached:
    - size
    - CurrentVariable
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:292,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ValidateVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: espv2::api_proxy::path_matcher::Parser::EndVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 11
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ValidateVariable
    - size
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:303,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 11
    functionsReached:
    - std::move
    - CurrentVariable
    - empty
    - emplace_back
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:313,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 11
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: field_path::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:323,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 11
    functionsReached:
    - static_cast<int>
    - size
    - field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable& var)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:335,1
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 11
    functionsReached:
    - size
    - empty
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::Parser::Parser
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string& input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: espv2::api_proxy::path_matcher::Parser::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseTemplate
    - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& segments()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& verb()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& variables()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> & variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateParts
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:77,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:81,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVerb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::Parser::ParseTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 12
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - espv2::api_proxy::path_matcher::Parser::ParseVerb
    - espv2::api_proxy::path_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:95,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:100,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegments
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 23
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseSegment
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:111,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:114,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:116,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:117,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:119,1
    - Dst: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:121,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:125,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:131,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 135
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 12
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    - espv2::api_proxy::path_matcher::Parser::current_char
    - push_back
    - espv2::api_proxy::path_matcher::Parser::ParseVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:139,1
    - Dst: espv2::api_proxy::path_matcher::Parser::StartVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:142,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:145,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:148,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:149,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:154,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EndVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:156,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 163
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 12
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::EndVariable
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - push_back
    - espv2::api_proxy::path_matcher::Parser::StartVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:167,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 12
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:176,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:179,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 12
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:189,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVerb
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 12
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:200,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:202,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:208,1
    - Dst: std::string::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:209,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 12
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - std::move
    - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:218,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:227,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:233,1
    - Dst: std::string*::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:234,1
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 245
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteral
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 24
    functionsReached:
    - std::string*::push_back
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string* lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:248,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: espv2::api_proxy::path_matcher::Parser::Consume
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 96
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 12
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 36
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: espv2::api_proxy::path_matcher::Parser::NextChar
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 48
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: espv2::api_proxy::path_matcher::Parser::current_char
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 60
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: '& CurrentVariable()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable & CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:280,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: espv2::api_proxy::path_matcher::Parser::StartVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 12
    functionsReached:
    - size
    - CurrentVariable
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:292,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ValidateVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: espv2::api_proxy::path_matcher::Parser::EndVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 12
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ValidateVariable
    - size
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:303,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 12
    functionsReached:
    - std::move
    - CurrentVariable
    - empty
    - emplace_back
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:313,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 12
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: field_path::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:323,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 12
    functionsReached:
    - static_cast<int>
    - size
    - field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable& var)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:335,1
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 12
    functionsReached:
    - size
    - empty
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:370,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:370,1
    - Dst: Parser::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:374,1
    - Dst: Parser::ValidateParts
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:374,1
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:378,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: Parser::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: Parser::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: Parser::variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' ht'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 380
    functionName: espv2::api_proxy::path_matcher::HttpTemplate::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 16
    functionsReached:
    - Parser::segments
    - Parser::Parse
    - Parser::verb
    - HttpTemplate::HttpTemplate
    - std::move
    - Parser::variables
    - std::unique_ptr<HttpTemplate>
    - Parser::ValidateParts
    linkageType: ''
    returnType: std::unique_ptr<HttpTemplate>
    signature: std::unique_ptr<HttpTemplate> HttpTemplate::Parse(const std::string&
      ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::Parser::Parser
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string& input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: espv2::api_proxy::path_matcher::Parser::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseTemplate
    - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& segments()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& verb()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& variables()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> & variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateParts
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:77,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:81,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVerb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::Parser::ParseTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 13
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - espv2::api_proxy::path_matcher::Parser::ParseVerb
    - espv2::api_proxy::path_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:95,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:100,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegments
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 25
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseSegment
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:111,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:114,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:116,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:117,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:119,1
    - Dst: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:121,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:125,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:131,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 135
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 13
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    - espv2::api_proxy::path_matcher::Parser::current_char
    - push_back
    - espv2::api_proxy::path_matcher::Parser::ParseVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:139,1
    - Dst: espv2::api_proxy::path_matcher::Parser::StartVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:142,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:145,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:148,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:149,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:154,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EndVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:156,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 163
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 13
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::EndVariable
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - push_back
    - espv2::api_proxy::path_matcher::Parser::StartVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:167,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 13
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:176,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:179,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 13
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:189,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVerb
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 13
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:200,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:202,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:208,1
    - Dst: std::string::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:209,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 13
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - std::move
    - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:218,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:227,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:233,1
    - Dst: std::string*::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:234,1
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 245
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteral
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 26
    functionsReached:
    - std::string*::push_back
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string* lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:248,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: espv2::api_proxy::path_matcher::Parser::Consume
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 104
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 13
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 39
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: espv2::api_proxy::path_matcher::Parser::NextChar
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 52
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: espv2::api_proxy::path_matcher::Parser::current_char
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 65
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: '& CurrentVariable()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable & CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:280,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: espv2::api_proxy::path_matcher::Parser::StartVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 13
    functionsReached:
    - size
    - CurrentVariable
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:292,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ValidateVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: espv2::api_proxy::path_matcher::Parser::EndVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 13
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ValidateVariable
    - size
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:303,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 13
    functionsReached:
    - std::move
    - CurrentVariable
    - empty
    - emplace_back
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:313,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 13
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: field_path::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:323,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 13
    functionsReached:
    - static_cast<int>
    - size
    - field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable& var)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:335,1
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 13
    functionsReached:
    - size
    - empty
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::Parser::Parser
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string& input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: espv2::api_proxy::path_matcher::Parser::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseTemplate
    - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& segments()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& verb()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& variables()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> & variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateParts
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:77,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:81,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVerb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::Parser::ParseTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 14
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - espv2::api_proxy::path_matcher::Parser::ParseVerb
    - espv2::api_proxy::path_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:95,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:100,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegments
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 27
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseSegment
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:111,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:114,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:116,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:117,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:119,1
    - Dst: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:121,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:125,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:131,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 135
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 14
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    - espv2::api_proxy::path_matcher::Parser::current_char
    - push_back
    - espv2::api_proxy::path_matcher::Parser::ParseVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:139,1
    - Dst: espv2::api_proxy::path_matcher::Parser::StartVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:142,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:145,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:148,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:149,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:154,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EndVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:156,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 163
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 14
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::EndVariable
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - push_back
    - espv2::api_proxy::path_matcher::Parser::StartVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:167,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 14
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:176,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:179,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 14
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:189,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVerb
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 14
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:200,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:202,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:208,1
    - Dst: std::string::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:209,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 14
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - std::move
    - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:218,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:227,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:233,1
    - Dst: std::string*::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:234,1
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 245
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteral
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 28
    functionsReached:
    - std::string*::push_back
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string* lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:248,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: espv2::api_proxy::path_matcher::Parser::Consume
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 112
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 14
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 42
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: espv2::api_proxy::path_matcher::Parser::NextChar
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 56
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: espv2::api_proxy::path_matcher::Parser::current_char
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 70
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: '& CurrentVariable()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable & CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:280,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: espv2::api_proxy::path_matcher::Parser::StartVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 14
    functionsReached:
    - size
    - CurrentVariable
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:292,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ValidateVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: espv2::api_proxy::path_matcher::Parser::EndVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 14
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ValidateVariable
    - size
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:303,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 14
    functionsReached:
    - std::move
    - CurrentVariable
    - empty
    - emplace_back
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:313,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 14
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: field_path::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:323,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 14
    functionsReached:
    - static_cast<int>
    - size
    - field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable& var)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:335,1
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 14
    functionsReached:
    - size
    - empty
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:370,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:370,1
    - Dst: Parser::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:374,1
    - Dst: Parser::ValidateParts
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:374,1
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:378,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: Parser::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: Parser::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: Parser::variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' ht'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 380
    functionName: espv2::api_proxy::path_matcher::HttpTemplate::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 16
    functionsReached:
    - Parser::segments
    - Parser::Parse
    - Parser::verb
    - HttpTemplate::HttpTemplate
    - std::move
    - Parser::variables
    - std::unique_ptr<HttpTemplate>
    - Parser::ValidateParts
    linkageType: ''
    returnType: std::unique_ptr<HttpTemplate>
    signature: std::unique_ptr<HttpTemplate> HttpTemplate::Parse(const std::string&
      ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::Parser::Parser
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string& input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: espv2::api_proxy::path_matcher::Parser::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseTemplate
    - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& segments()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& verb()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& variables()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> & variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateParts
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:77,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:81,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVerb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::Parser::ParseTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 15
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - espv2::api_proxy::path_matcher::Parser::ParseVerb
    - espv2::api_proxy::path_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:95,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:100,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegments
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 29
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseSegment
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:111,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:114,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:116,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:117,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:119,1
    - Dst: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:121,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:125,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:131,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 135
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 15
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    - espv2::api_proxy::path_matcher::Parser::current_char
    - push_back
    - espv2::api_proxy::path_matcher::Parser::ParseVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:139,1
    - Dst: espv2::api_proxy::path_matcher::Parser::StartVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:142,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:145,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:148,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:149,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:154,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EndVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:156,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 163
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 15
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::EndVariable
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - push_back
    - espv2::api_proxy::path_matcher::Parser::StartVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:167,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 15
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:176,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:179,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 15
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:189,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVerb
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 15
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:200,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:202,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:208,1
    - Dst: std::string::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:209,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 15
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - std::move
    - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:218,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:227,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:233,1
    - Dst: std::string*::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:234,1
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 245
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteral
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 30
    functionsReached:
    - std::string*::push_back
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string* lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:248,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: espv2::api_proxy::path_matcher::Parser::Consume
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 120
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 15
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 45
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: espv2::api_proxy::path_matcher::Parser::NextChar
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 60
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: espv2::api_proxy::path_matcher::Parser::current_char
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 75
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: '& CurrentVariable()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable & CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:280,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: espv2::api_proxy::path_matcher::Parser::StartVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 15
    functionsReached:
    - size
    - CurrentVariable
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:292,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ValidateVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: espv2::api_proxy::path_matcher::Parser::EndVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 15
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ValidateVariable
    - size
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:303,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 15
    functionsReached:
    - std::move
    - CurrentVariable
    - empty
    - emplace_back
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:313,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 15
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: field_path::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:323,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 15
    functionsReached:
    - static_cast<int>
    - size
    - field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable& var)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:335,1
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 15
    functionsReached:
    - size
    - empty
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: espv2::api_proxy::path_matcher::Parser::Parser
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string& input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:46,1
    - Dst: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: espv2::api_proxy::path_matcher::Parser::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseTemplate
    - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& segments()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: '& verb()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '& variables()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> & variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateParts
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:77,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:81,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:85,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVerb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::Parser::ParseTemplate
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 16
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - espv2::api_proxy::path_matcher::Parser::ParseVerb
    - espv2::api_proxy::path_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:95,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:100,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegments
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 31
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseSegment
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:111,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:114,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:116,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:117,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:119,1
    - Dst: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:121,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:125,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:131,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 135
    functionName: espv2::api_proxy::path_matcher::Parser::ParseSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 16
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    - espv2::api_proxy::path_matcher::Parser::current_char
    - push_back
    - espv2::api_proxy::path_matcher::Parser::ParseVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:139,1
    - Dst: espv2::api_proxy::path_matcher::Parser::StartVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:142,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:145,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:148,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseSegments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:149,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:154,1
    - Dst: espv2::api_proxy::path_matcher::Parser::EndVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:156,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 163
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 16
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::EndVariable
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    - espv2::api_proxy::path_matcher::Parser::ParseSegments
    - push_back
    - espv2::api_proxy::path_matcher::Parser::StartVariable
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:167,1
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 16
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:176,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:179,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: espv2::api_proxy::path_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 16
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:189,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ParseLiteral
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::path_matcher::Parser::ParseVerb
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 16
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ParseLiteral
    - espv2::api_proxy::path_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:200,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:202,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:206,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:208,1
    - Dst: std::string::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:209,1
    - Dst: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: espv2::api_proxy::path_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 16
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::Consume
    - std::move
    - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:218,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:227,1
    - Dst: espv2::api_proxy::path_matcher::Parser::Consume
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:233,1
    - Dst: std::string*::push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:234,1
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 245
    functionName: espv2::api_proxy::path_matcher::Parser::ParseLiteral
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 32
    functionsReached:
    - std::string*::push_back
    - espv2::api_proxy::path_matcher::Parser::Consume
    - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string* lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:248,1
    - Dst: espv2::api_proxy::path_matcher::Parser::current_char
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: espv2::api_proxy::path_matcher::Parser::Consume
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 128
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::current_char
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 16
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::Parser::NextChar
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: espv2::api_proxy::path_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 48
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: espv2::api_proxy::path_matcher::Parser::NextChar
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 64
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: espv2::api_proxy::path_matcher::Parser::current_char
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 80
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 276
    functionName: '& CurrentVariable()'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable & CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:280,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:281,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: espv2::api_proxy::path_matcher::Parser::StartVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 16
    functionsReached:
    - size
    - CurrentVariable
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:292,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:293,1
    - Dst: espv2::api_proxy::path_matcher::Parser::ValidateVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 300
    functionName: espv2::api_proxy::path_matcher::Parser::EndVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 16
    functionsReached:
    - espv2::api_proxy::path_matcher::Parser::ValidateVariable
    - size
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:303,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 16
    functionsReached:
    - std::move
    - CurrentVariable
    - empty
    - emplace_back
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:313,1
    - Dst: CurrentVariable
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 16
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: field_path::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:323,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ' var'
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::Parser::ValidateVariable
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 16
    functionsReached:
    - static_cast<int>
    - size
    - field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable& var)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:335,1
    - Dst: empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: espv2::api_proxy::path_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 16
    functionsReached:
    - size
    - empty
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:370,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:370,1
    - Dst: Parser::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:374,1
    - Dst: Parser::ValidateParts
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:374,1
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:378,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: Parser::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: Parser::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: std::move
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: Parser::variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:379,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' ht'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 380
    functionName: espv2::api_proxy::path_matcher::HttpTemplate::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
    functionUses: 16
    functionsReached:
    - Parser::segments
    - Parser::Parse
    - Parser::verb
    - HttpTemplate::HttpTemplate
    - std::move
    - Parser::variables
    - std::unique_ptr<HttpTemplate>
    - Parser::ValidateParts
    linkageType: ''
    returnType: std::unique_ptr<HttpTemplate>
    signature: std::unique_ptr<HttpTemplate> HttpTemplate::Parse(const std::string&
      ht)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:26,1
    - Dst: field_path::size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:28,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:34,1
    - Dst: field_path::size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:36,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:37,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:41,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:42,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:43,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ' variable_bindings'
    argTypes:
    - std::vector<VariableBinding>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 48
    functionName: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc
    functionUses: 8
    functionsReached:
    - size
    - std::string::append
    - field_path::size
    linkageType: ''
    returnType: std::string
    signature: "std::string VariableBindingsToQueryParameters(\n    const std::vector<VariableBinding>&
      variable_bindings)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:26,1
    - Dst: field_path::size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:28,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:34,1
    - Dst: field_path::size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:36,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:37,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:41,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:42,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:43,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ' variable_bindings'
    argTypes:
    - std::vector<VariableBinding>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 48
    functionName: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc
    functionUses: 8
    functionsReached:
    - size
    - std::string::append
    - field_path::size
    linkageType: ''
    returnType: std::string
    signature: "std::string VariableBindingsToQueryParameters(\n    const std::vector<VariableBinding>&
      variable_bindings)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:26,1
    - Dst: field_path::size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:28,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:34,1
    - Dst: field_path::size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:36,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:37,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:41,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:42,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:43,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ' variable_bindings'
    argTypes:
    - std::vector<VariableBinding>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 48
    functionName: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc
    functionUses: 8
    functionsReached:
    - size
    - std::string::append
    - field_path::size
    linkageType: ''
    returnType: std::string
    signature: "std::string VariableBindingsToQueryParameters(\n    const std::vector<VariableBinding>&
      variable_bindings)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:26,1
    - Dst: field_path::size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:28,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:34,1
    - Dst: field_path::size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:36,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:37,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:41,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:42,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:43,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ' variable_bindings'
    argTypes:
    - std::vector<VariableBinding>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 48
    functionName: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc
    functionUses: 8
    functionsReached:
    - size
    - std::string::append
    - field_path::size
    linkageType: ''
    returnType: std::string
    signature: "std::string VariableBindingsToQueryParameters(\n    const std::vector<VariableBinding>&
      variable_bindings)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:26,1
    - Dst: field_path::size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:28,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:34,1
    - Dst: field_path::size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:36,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:37,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:41,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:42,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:43,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ' variable_bindings'
    argTypes:
    - std::vector<VariableBinding>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 48
    functionName: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc
    functionUses: 8
    functionsReached:
    - size
    - std::string::append
    - field_path::size
    linkageType: ''
    returnType: std::string
    signature: "std::string VariableBindingsToQueryParameters(\n    const std::vector<VariableBinding>&
      variable_bindings)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:26,1
    - Dst: field_path::size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:28,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:34,1
    - Dst: field_path::size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:36,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:37,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:41,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:42,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:43,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ' variable_bindings'
    argTypes:
    - std::vector<VariableBinding>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 48
    functionName: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc
    functionUses: 8
    functionsReached:
    - size
    - std::string::append
    - field_path::size
    linkageType: ''
    returnType: std::string
    signature: "std::string VariableBindingsToQueryParameters(\n    const std::vector<VariableBinding>&
      variable_bindings)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:26,1
    - Dst: field_path::size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:28,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:34,1
    - Dst: field_path::size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:36,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:37,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:41,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:42,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:43,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ' variable_bindings'
    argTypes:
    - std::vector<VariableBinding>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 48
    functionName: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc
    functionUses: 8
    functionsReached:
    - size
    - std::string::append
    - field_path::size
    linkageType: ''
    returnType: std::string
    signature: "std::string VariableBindingsToQueryParameters(\n    const std::vector<VariableBinding>&
      variable_bindings)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:26,1
    - Dst: field_path::size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:28,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:34,1
    - Dst: field_path::size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:36,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:37,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:41,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:42,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:43,1
    - Dst: std::string::append
      Src: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ' variable_bindings'
    argTypes:
    - std::vector<VariableBinding>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 48
    functionName: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc
    functionUses: 8
    functionsReached:
    - size
    - std::string::append
    - field_path::size
    linkageType: ''
    returnType: std::string
    signature: "std::string VariableBindingsToQueryParameters(\n    const std::vector<VariableBinding>&
      variable_bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' v1'
    - ' v2'
    argTypes:
    - Variable
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: operator==(const Variable& v1, const Variable& v2)
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Variable& v1, const Variable& v2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: espv2::api_proxy::path_matcher::FieldPathToString
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' var'
    argTypes:
    - std::ostream
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: '& operator<<(std::ostream& os, const Variable& var)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Variable& var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' vars'
    argTypes:
    - std::ostream
    - Variables
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: '& operator<<(std::ostream& os, const Variables& vars)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Variables& vars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:64,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:66,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:66,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:67,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:67,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:75,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:76,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:77,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:77,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:78,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:79,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:79,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:83,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:84,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:85,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:85,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:86,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:87,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:87,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:91,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:92,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:93,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:93,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:94,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:94,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:95,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:95,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:99,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:101,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:101,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:102,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:103,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:103,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:107,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:109,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:109,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:109,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:110,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:111,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:111,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:115,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:116,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:117,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:117,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:117,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:118,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:119,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:119,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:123,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:125,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:125,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:126,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:126,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:127,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:127,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:131,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:132,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:133,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:133,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:134,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:135,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:135,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest7)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:142,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:144,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:144,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:145,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:146,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:146,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:153,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:154,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:155,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:155,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:155,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:156,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:156,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:157,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:157,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest9)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:164,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:165,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:166,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:166,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:166,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:167,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:167,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:168,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:168,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:175,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:176,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:177,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:177,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:177,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:178,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:178,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:179,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:179,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest11)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:186,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:187,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:188,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:188,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:189,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:190,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:190,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest12)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:197,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:198,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:199,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:199,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:199,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:200,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:200,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:201,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:201,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest13)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:209,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:210,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:210,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:210,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:211,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:211,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:212,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:212,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest14)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:219,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:221,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:221,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:222,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:223,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:223,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 227
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest15)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:230,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:231,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:232,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:232,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:232,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:233,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:233,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:234,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:234,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:242,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:242,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:242,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:243,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:243,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:243,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:246,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:246,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:246,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:247,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:247,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:247,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:249,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:250,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:250,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:251,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:251,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:254,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:256,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:257,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:257,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:258,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:258,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:258,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:261,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:261,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:261,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:262,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:262,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:262,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:264,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:265,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:265,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:265,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:266,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:266,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 270
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, CustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:273,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:276,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:276,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:277,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:278,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:278,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:281,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:283,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:286,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:286,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:286,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:287,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:287,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:288,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:288,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:291,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:293,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:296,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:296,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:297,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:297,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:298,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:298,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:301,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:303,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:305,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:306,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:306,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:306,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:307,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:307,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:308,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:308,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:311,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:313,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:316,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:316,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:317,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:317,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:318,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:318,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:321,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:323,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:325,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:326,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:326,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:326,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:327,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:328,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:328,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:331,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:333,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:335,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:336,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:336,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:336,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:337,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:337,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:338,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:338,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:341,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:343,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:345,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:346,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:346,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:346,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:347,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:347,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:348,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:348,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:351,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:353,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:355,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:356,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:356,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:356,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:357,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:357,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:358,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:358,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 362
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, MoreVariableTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:365,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:368,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:368,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:369,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:370,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:370,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:373,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:375,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:377,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:378,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:378,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:378,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:379,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:379,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:380,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:380,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:383,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:385,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:387,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:388,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:388,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:388,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:389,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:390,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:390,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:393,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:395,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:397,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:398,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:398,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:398,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:399,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:399,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:400,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:400,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:403,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:405,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:407,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:408,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:408,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:409,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:410,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:410,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:413,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:415,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:417,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:418,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:418,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:418,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:419,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:419,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:420,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:420,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:423,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:425,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:427,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:428,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:428,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:428,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:429,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:429,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:430,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:430,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 434
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, VariableAndCustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:437,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:438,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:439,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:439,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:439,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:440,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:440,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:441,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:441,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 442
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, RootPATH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:445,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:445,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:446,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:446,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:447,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:447,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:448,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:449,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:449,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:451,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:452,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:452,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:453,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:453,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:455,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:455,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:456,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:456,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:457,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:457,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:458,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:458,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:459,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:459,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:460,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:460,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:461,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:461,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:462,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:462,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:463,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:463,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:465,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:465,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:466,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:466,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:467,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:467,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:468,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:468,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:470,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:471,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:471,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:472,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:472,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:473,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:473,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:475,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:475,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:476,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:476,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:477,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:477,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:478,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:478,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:479,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:480,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:480,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:481,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:481,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:482,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:482,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:483,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:483,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:484,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:484,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:486,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:486,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:487,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:487,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:488,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:488,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:489,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:489,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:490,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:490,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:491,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:491,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:492,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:492,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:493,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:493,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:494,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:494,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:495,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:495,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:496,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:496,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:497,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 498
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ErrorTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:501,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:502,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:503,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:503,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:503,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:504,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 505
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:508,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:509,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:510,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:510,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:510,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:511,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 512
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:515,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:516,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:517,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:517,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:517,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:518,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:522,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:522,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:523,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:524,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:524,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:525,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:525,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:526,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:526,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:527,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 528
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseNonVerbTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' v1'
    - ' v2'
    argTypes:
    - Variable
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: operator==(const Variable& v1, const Variable& v2)
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Variable& v1, const Variable& v2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: espv2::api_proxy::path_matcher::FieldPathToString
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' var'
    argTypes:
    - std::ostream
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: '& operator<<(std::ostream& os, const Variable& var)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Variable& var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' vars'
    argTypes:
    - std::ostream
    - Variables
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: '& operator<<(std::ostream& os, const Variables& vars)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Variables& vars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:64,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:66,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:66,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:67,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:67,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:75,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:76,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:77,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:77,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:78,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:79,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:79,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:83,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:84,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:85,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:85,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:86,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:87,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:87,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:91,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:92,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:93,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:93,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:94,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:94,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:95,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:95,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:99,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:101,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:101,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:102,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:103,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:103,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:107,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:109,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:109,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:109,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:110,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:111,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:111,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:115,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:116,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:117,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:117,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:117,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:118,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:119,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:119,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:123,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:125,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:125,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:126,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:126,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:127,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:127,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:131,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:132,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:133,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:133,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:134,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:135,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:135,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest7)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:142,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:144,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:144,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:145,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:146,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:146,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:153,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:154,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:155,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:155,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:155,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:156,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:156,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:157,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:157,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest9)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:164,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:165,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:166,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:166,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:166,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:167,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:167,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:168,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:168,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:175,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:176,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:177,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:177,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:177,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:178,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:178,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:179,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:179,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest11)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:186,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:187,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:188,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:188,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:189,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:190,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:190,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest12)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:197,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:198,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:199,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:199,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:199,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:200,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:200,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:201,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:201,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest13)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:209,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:210,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:210,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:210,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:211,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:211,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:212,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:212,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest14)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:219,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:221,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:221,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:222,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:223,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:223,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 227
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest15)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:230,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:231,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:232,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:232,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:232,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:233,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:233,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:234,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:234,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:242,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:242,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:242,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:243,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:243,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:243,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:246,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:246,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:246,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:247,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:247,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:247,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:249,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:250,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:250,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:251,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:251,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:254,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:256,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:257,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:257,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:258,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:258,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:258,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:261,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:261,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:261,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:262,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:262,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:262,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:264,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:265,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:265,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:265,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:266,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:266,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 270
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, CustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:273,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:276,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:276,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:277,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:278,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:278,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:281,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:283,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:286,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:286,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:286,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:287,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:287,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:288,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:288,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:291,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:293,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:296,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:296,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:297,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:297,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:298,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:298,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:301,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:303,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:305,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:306,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:306,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:306,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:307,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:307,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:308,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:308,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:311,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:313,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:316,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:316,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:317,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:317,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:318,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:318,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:321,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:323,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:325,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:326,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:326,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:326,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:327,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:328,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:328,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:331,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:333,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:335,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:336,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:336,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:336,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:337,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:337,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:338,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:338,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:341,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:343,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:345,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:346,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:346,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:346,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:347,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:347,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:348,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:348,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:351,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:353,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:355,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:356,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:356,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:356,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:357,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:357,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:358,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:358,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 362
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, MoreVariableTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:365,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:368,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:368,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:369,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:370,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:370,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:373,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:375,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:377,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:378,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:378,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:378,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:379,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:379,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:380,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:380,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:383,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:385,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:387,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:388,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:388,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:388,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:389,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:390,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:390,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:393,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:395,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:397,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:398,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:398,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:398,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:399,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:399,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:400,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:400,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:403,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:405,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:407,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:408,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:408,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:409,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:410,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:410,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:413,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:415,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:417,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:418,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:418,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:418,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:419,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:419,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:420,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:420,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:423,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:425,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:427,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:428,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:428,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:428,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:429,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:429,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:430,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:430,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 434
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, VariableAndCustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:437,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:438,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:439,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:439,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:439,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:440,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:440,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:441,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:441,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 442
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, RootPATH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:445,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:445,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:446,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:446,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:447,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:447,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:448,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:449,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:449,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:451,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:452,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:452,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:453,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:453,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:455,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:455,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:456,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:456,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:457,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:457,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:458,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:458,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:459,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:459,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:460,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:460,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:461,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:461,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:462,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:462,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:463,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:463,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:465,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:465,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:466,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:466,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:467,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:467,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:468,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:468,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:470,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:471,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:471,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:472,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:472,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:473,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:473,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:475,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:475,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:476,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:476,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:477,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:477,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:478,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:478,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:479,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:480,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:480,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:481,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:481,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:482,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:482,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:483,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:483,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:484,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:484,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:486,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:486,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:487,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:487,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:488,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:488,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:489,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:489,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:490,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:490,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:491,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:491,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:492,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:492,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:493,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:493,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:494,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:494,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:495,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:495,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:496,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:496,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:497,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 498
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ErrorTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:501,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:502,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:503,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:503,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:503,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:504,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 505
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:508,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:509,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:510,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:510,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:510,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:511,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 512
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:515,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:516,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:517,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:517,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:517,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:518,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:522,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:522,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:523,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:524,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:524,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:525,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:525,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:526,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:526,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:527,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 528
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseNonVerbTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' v1'
    - ' v2'
    argTypes:
    - Variable
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: operator==(const Variable& v1, const Variable& v2)
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Variable& v1, const Variable& v2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: espv2::api_proxy::path_matcher::FieldPathToString
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' var'
    argTypes:
    - std::ostream
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: '& operator<<(std::ostream& os, const Variable& var)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Variable& var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' vars'
    argTypes:
    - std::ostream
    - Variables
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: '& operator<<(std::ostream& os, const Variables& vars)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Variables& vars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:64,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:66,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:66,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:67,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:67,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:75,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:76,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:77,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:77,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:78,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:79,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:79,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:83,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:84,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:85,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:85,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:86,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:87,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:87,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:91,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:92,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:93,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:93,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:94,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:94,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:95,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:95,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:99,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:101,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:101,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:102,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:103,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:103,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:107,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:109,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:109,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:109,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:110,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:111,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:111,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:115,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:116,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:117,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:117,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:117,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:118,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:119,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:119,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:123,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:125,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:125,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:126,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:126,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:127,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:127,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:131,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:132,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:133,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:133,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:134,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:135,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:135,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest7)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:142,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:144,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:144,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:145,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:146,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:146,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:153,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:154,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:155,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:155,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:155,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:156,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:156,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:157,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:157,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest9)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:164,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:165,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:166,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:166,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:166,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:167,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:167,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:168,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:168,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:175,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:176,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:177,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:177,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:177,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:178,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:178,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:179,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:179,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest11)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:186,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:187,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:188,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:188,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:189,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:190,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:190,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest12)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:197,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:198,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:199,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:199,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:199,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:200,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:200,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:201,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:201,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest13)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:209,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:210,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:210,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:210,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:211,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:211,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:212,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:212,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest14)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:219,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:221,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:221,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:222,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:223,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:223,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 227
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest15)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:230,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:231,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:232,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:232,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:232,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:233,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:233,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:234,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:234,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:242,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:242,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:242,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:243,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:243,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:243,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:246,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:246,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:246,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:247,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:247,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:247,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:249,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:250,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:250,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:251,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:251,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:254,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:256,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:257,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:257,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:258,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:258,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:258,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:261,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:261,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:261,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:262,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:262,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:262,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:264,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:265,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:265,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:265,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:266,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:266,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 270
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, CustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:273,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:276,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:276,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:277,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:278,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:278,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:281,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:283,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:286,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:286,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:286,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:287,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:287,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:288,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:288,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:291,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:293,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:296,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:296,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:297,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:297,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:298,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:298,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:301,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:303,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:305,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:306,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:306,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:306,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:307,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:307,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:308,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:308,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:311,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:313,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:316,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:316,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:317,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:317,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:318,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:318,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:321,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:323,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:325,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:326,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:326,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:326,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:327,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:328,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:328,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:331,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:333,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:335,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:336,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:336,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:336,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:337,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:337,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:338,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:338,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:341,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:343,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:345,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:346,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:346,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:346,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:347,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:347,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:348,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:348,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:351,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:353,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:355,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:356,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:356,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:356,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:357,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:357,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:358,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:358,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 362
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, MoreVariableTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:365,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:368,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:368,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:369,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:370,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:370,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:373,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:375,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:377,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:378,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:378,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:378,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:379,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:379,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:380,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:380,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:383,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:385,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:387,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:388,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:388,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:388,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:389,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:390,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:390,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:393,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:395,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:397,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:398,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:398,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:398,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:399,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:399,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:400,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:400,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:403,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:405,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:407,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:408,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:408,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:409,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:410,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:410,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:413,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:415,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:417,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:418,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:418,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:418,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:419,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:419,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:420,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:420,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:423,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:425,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:427,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:428,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:428,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:428,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:429,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:429,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:430,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:430,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 434
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, VariableAndCustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:437,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:438,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:439,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:439,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:439,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:440,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:440,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:441,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:441,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 442
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, RootPATH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:445,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:445,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:446,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:446,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:447,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:447,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:448,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:449,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:449,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:451,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:452,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:452,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:453,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:453,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:455,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:455,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:456,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:456,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:457,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:457,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:458,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:458,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:459,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:459,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:460,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:460,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:461,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:461,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:462,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:462,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:463,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:463,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:465,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:465,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:466,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:466,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:467,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:467,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:468,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:468,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:470,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:471,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:471,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:472,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:472,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:473,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:473,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:475,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:475,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:476,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:476,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:477,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:477,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:478,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:478,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:479,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:480,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:480,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:481,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:481,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:482,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:482,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:483,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:483,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:484,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:484,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:486,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:486,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:487,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:487,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:488,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:488,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:489,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:489,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:490,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:490,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:491,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:491,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:492,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:492,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:493,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:493,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:494,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:494,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:495,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:495,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:496,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:496,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:497,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 498
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ErrorTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:501,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:502,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:503,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:503,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:503,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:504,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 505
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:508,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:509,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:510,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:510,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:510,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:511,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 512
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:515,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:516,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:517,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:517,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:517,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:518,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:522,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:522,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:523,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:524,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:524,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:525,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:525,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:526,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:526,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:527,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 528
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseNonVerbTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' v1'
    - ' v2'
    argTypes:
    - Variable
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: operator==(const Variable& v1, const Variable& v2)
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Variable& v1, const Variable& v2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: espv2::api_proxy::path_matcher::FieldPathToString
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' var'
    argTypes:
    - std::ostream
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: '& operator<<(std::ostream& os, const Variable& var)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Variable& var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' vars'
    argTypes:
    - std::ostream
    - Variables
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: '& operator<<(std::ostream& os, const Variables& vars)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Variables& vars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:64,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:66,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:66,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:67,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:67,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:75,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:76,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:77,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:77,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:78,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:79,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:79,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:83,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:84,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:85,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:85,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:86,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:87,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:87,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:91,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:92,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:93,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:93,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:94,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:94,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:95,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:95,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:99,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:101,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:101,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:102,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:103,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:103,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:107,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:109,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:109,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:109,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:110,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:111,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:111,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:115,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:116,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:117,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:117,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:117,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:118,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:119,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:119,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:123,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:125,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:125,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:126,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:126,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:127,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:127,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:131,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:132,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:133,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:133,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:134,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:135,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:135,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest7)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:142,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:144,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:144,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:145,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:146,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:146,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:153,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:154,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:155,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:155,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:155,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:156,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:156,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:157,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:157,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest9)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:164,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:165,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:166,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:166,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:166,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:167,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:167,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:168,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:168,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:175,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:176,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:177,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:177,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:177,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:178,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:178,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:179,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:179,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest11)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:186,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:187,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:188,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:188,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:189,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:190,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:190,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest12)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:197,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:198,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:199,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:199,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:199,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:200,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:200,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:201,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:201,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest13)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:209,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:210,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:210,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:210,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:211,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:211,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:212,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:212,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest14)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:219,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:221,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:221,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:222,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:223,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:223,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 227
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest15)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:230,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:231,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:232,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:232,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:232,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:233,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:233,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:234,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:234,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:242,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:242,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:242,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:243,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:243,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:243,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:246,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:246,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:246,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:247,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:247,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:247,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:249,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:250,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:250,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:251,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:251,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:254,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:256,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:257,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:257,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:258,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:258,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:258,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:261,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:261,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:261,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:262,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:262,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:262,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:264,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:265,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:265,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:265,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:266,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:266,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 270
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, CustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:273,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:276,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:276,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:277,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:278,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:278,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:281,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:283,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:286,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:286,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:286,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:287,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:287,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:288,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:288,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:291,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:293,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:296,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:296,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:297,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:297,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:298,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:298,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:301,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:303,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:305,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:306,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:306,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:306,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:307,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:307,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:308,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:308,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:311,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:313,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:316,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:316,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:317,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:317,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:318,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:318,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:321,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:323,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:325,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:326,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:326,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:326,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:327,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:328,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:328,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:331,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:333,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:335,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:336,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:336,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:336,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:337,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:337,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:338,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:338,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:341,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:343,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:345,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:346,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:346,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:346,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:347,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:347,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:348,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:348,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:351,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:353,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:355,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:356,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:356,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:356,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:357,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:357,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:358,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:358,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 362
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, MoreVariableTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:365,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:368,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:368,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:369,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:370,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:370,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:373,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:375,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:377,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:378,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:378,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:378,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:379,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:379,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:380,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:380,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:383,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:385,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:387,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:388,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:388,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:388,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:389,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:390,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:390,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:393,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:395,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:397,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:398,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:398,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:398,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:399,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:399,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:400,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:400,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:403,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:405,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:407,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:408,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:408,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:409,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:410,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:410,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:413,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:415,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:417,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:418,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:418,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:418,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:419,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:419,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:420,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:420,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:423,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:425,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:427,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:428,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:428,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:428,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:429,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:429,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:430,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:430,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 434
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, VariableAndCustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:437,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:438,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:439,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:439,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:439,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:440,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:440,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:441,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:441,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 442
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, RootPATH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:445,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:445,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:446,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:446,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:447,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:447,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:448,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:449,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:449,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:451,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:452,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:452,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:453,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:453,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:455,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:455,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:456,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:456,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:457,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:457,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:458,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:458,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:459,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:459,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:460,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:460,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:461,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:461,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:462,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:462,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:463,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:463,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:465,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:465,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:466,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:466,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:467,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:467,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:468,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:468,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:470,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:471,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:471,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:472,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:472,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:473,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:473,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:475,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:475,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:476,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:476,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:477,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:477,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:478,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:478,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:479,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:480,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:480,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:481,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:481,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:482,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:482,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:483,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:483,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:484,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:484,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:486,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:486,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:487,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:487,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:488,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:488,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:489,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:489,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:490,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:490,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:491,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:491,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:492,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:492,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:493,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:493,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:494,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:494,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:495,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:495,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:496,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:496,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:497,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 498
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ErrorTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:501,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:502,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:503,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:503,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:503,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:504,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 505
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:508,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:509,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:510,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:510,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:510,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:511,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 512
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:515,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:516,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:517,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:517,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:517,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:518,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:522,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:522,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:523,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:524,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:524,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:525,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:525,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:526,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:526,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:527,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 528
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseNonVerbTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' v1'
    - ' v2'
    argTypes:
    - Variable
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: operator==(const Variable& v1, const Variable& v2)
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Variable& v1, const Variable& v2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: espv2::api_proxy::path_matcher::FieldPathToString
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' var'
    argTypes:
    - std::ostream
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: '& operator<<(std::ostream& os, const Variable& var)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Variable& var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' vars'
    argTypes:
    - std::ostream
    - Variables
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: '& operator<<(std::ostream& os, const Variables& vars)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Variables& vars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:64,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:66,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:66,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:67,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:67,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:75,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:76,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:77,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:77,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:78,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:79,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:79,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:83,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:84,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:85,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:85,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:86,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:87,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:87,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:91,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:92,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:93,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:93,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:94,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:94,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:95,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:95,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:99,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:101,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:101,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:102,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:103,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:103,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:107,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:109,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:109,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:109,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:110,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:111,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:111,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:115,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:116,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:117,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:117,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:117,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:118,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:119,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:119,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:123,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:125,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:125,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:126,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:126,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:127,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:127,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:131,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:132,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:133,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:133,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:134,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:135,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:135,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest7)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:142,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:144,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:144,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:145,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:146,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:146,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:153,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:154,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:155,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:155,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:155,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:156,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:156,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:157,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:157,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest9)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:164,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:165,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:166,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:166,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:166,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:167,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:167,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:168,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:168,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:175,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:176,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:177,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:177,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:177,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:178,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:178,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:179,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:179,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest11)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:186,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:187,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:188,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:188,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:189,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:190,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:190,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest12)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:197,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:198,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:199,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:199,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:199,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:200,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:200,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:201,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:201,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest13)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:209,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:210,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:210,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:210,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:211,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:211,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:212,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:212,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest14)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:219,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:221,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:221,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:222,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:223,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:223,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 227
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest15)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:230,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:231,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:232,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:232,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:232,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:233,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:233,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:234,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:234,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:242,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:242,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:242,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:243,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:243,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:243,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:246,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:246,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:246,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:247,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:247,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:247,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:249,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:250,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:250,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:251,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:251,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:254,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:256,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:257,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:257,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:258,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:258,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:258,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:261,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:261,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:261,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:262,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:262,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:262,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:264,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:265,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:265,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:265,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:266,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:266,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 270
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, CustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:273,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:276,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:276,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:277,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:278,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:278,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:281,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:283,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:286,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:286,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:286,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:287,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:287,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:288,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:288,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:291,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:293,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:296,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:296,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:297,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:297,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:298,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:298,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:301,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:303,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:305,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:306,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:306,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:306,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:307,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:307,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:308,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:308,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:311,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:313,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:316,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:316,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:317,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:317,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:318,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:318,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:321,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:323,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:325,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:326,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:326,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:326,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:327,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:328,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:328,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:331,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:333,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:335,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:336,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:336,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:336,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:337,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:337,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:338,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:338,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:341,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:343,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:345,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:346,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:346,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:346,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:347,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:347,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:348,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:348,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:351,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:353,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:355,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:356,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:356,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:356,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:357,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:357,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:358,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:358,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 362
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, MoreVariableTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:365,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:368,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:368,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:369,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:370,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:370,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:373,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:375,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:377,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:378,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:378,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:378,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:379,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:379,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:380,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:380,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:383,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:385,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:387,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:388,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:388,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:388,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:389,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:390,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:390,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:393,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:395,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:397,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:398,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:398,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:398,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:399,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:399,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:400,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:400,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:403,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:405,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:407,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:408,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:408,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:409,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:410,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:410,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:413,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:415,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:417,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:418,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:418,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:418,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:419,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:419,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:420,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:420,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:423,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:425,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:427,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:428,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:428,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:428,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:429,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:429,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:430,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:430,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 434
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, VariableAndCustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:437,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:438,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:439,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:439,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:439,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:440,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:440,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:441,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:441,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 442
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, RootPATH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:445,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:445,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:446,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:446,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:447,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:447,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:448,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:449,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:449,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:451,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:452,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:452,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:453,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:453,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:455,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:455,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:456,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:456,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:457,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:457,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:458,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:458,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:459,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:459,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:460,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:460,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:461,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:461,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:462,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:462,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:463,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:463,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:465,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:465,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:466,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:466,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:467,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:467,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:468,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:468,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:470,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:471,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:471,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:472,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:472,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:473,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:473,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:475,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:475,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:476,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:476,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:477,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:477,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:478,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:478,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:479,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:480,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:480,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:481,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:481,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:482,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:482,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:483,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:483,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:484,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:484,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:486,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:486,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:487,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:487,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:488,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:488,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:489,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:489,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:490,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:490,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:491,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:491,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:492,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:492,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:493,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:493,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:494,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:494,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:495,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:495,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:496,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:496,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:497,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 498
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ErrorTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:501,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:502,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:503,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:503,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:503,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:504,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 505
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:508,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:509,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:510,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:510,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:510,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:511,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 512
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:515,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:516,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:517,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:517,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:517,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:518,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:522,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:522,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:523,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:524,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:524,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:525,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:525,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:526,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:526,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:527,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 528
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseNonVerbTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' v1'
    - ' v2'
    argTypes:
    - Variable
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: operator==(const Variable& v1, const Variable& v2)
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Variable& v1, const Variable& v2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: espv2::api_proxy::path_matcher::FieldPathToString
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' var'
    argTypes:
    - std::ostream
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: '& operator<<(std::ostream& os, const Variable& var)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Variable& var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' vars'
    argTypes:
    - std::ostream
    - Variables
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: '& operator<<(std::ostream& os, const Variables& vars)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Variables& vars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:64,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:66,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:66,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:67,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:67,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:75,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:76,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:77,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:77,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:78,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:79,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:79,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:83,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:84,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:85,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:85,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:86,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:87,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:87,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:91,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:92,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:93,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:93,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:94,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:94,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:95,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:95,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:99,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:101,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:101,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:102,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:103,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:103,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:107,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:109,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:109,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:109,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:110,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:111,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:111,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:115,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:116,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:117,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:117,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:117,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:118,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:119,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:119,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:123,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:125,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:125,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:126,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:126,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:127,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:127,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:131,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:132,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:133,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:133,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:134,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:135,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:135,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest7)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:142,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:144,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:144,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:145,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:146,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:146,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:153,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:154,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:155,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:155,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:155,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:156,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:156,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:157,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:157,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest9)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:164,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:165,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:166,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:166,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:166,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:167,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:167,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:168,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:168,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:175,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:176,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:177,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:177,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:177,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:178,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:178,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:179,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:179,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest11)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:186,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:187,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:188,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:188,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:189,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:190,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:190,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest12)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:197,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:198,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:199,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:199,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:199,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:200,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:200,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:201,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:201,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest13)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:209,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:210,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:210,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:210,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:211,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:211,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:212,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:212,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest14)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:219,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:221,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:221,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:222,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:223,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:223,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 227
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest15)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:230,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:231,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:232,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:232,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:232,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:233,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:233,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:234,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:234,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:242,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:242,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:242,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:243,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:243,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:243,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:246,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:246,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:246,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:247,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:247,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:247,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:249,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:250,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:250,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:251,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:251,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:254,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:256,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:257,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:257,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:258,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:258,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:258,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:261,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:261,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:261,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:262,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:262,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:262,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:264,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:265,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:265,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:265,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:266,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:266,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 270
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, CustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:273,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:276,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:276,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:277,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:278,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:278,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:281,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:283,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:286,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:286,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:286,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:287,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:287,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:288,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:288,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:291,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:293,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:296,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:296,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:297,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:297,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:298,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:298,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:301,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:303,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:305,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:306,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:306,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:306,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:307,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:307,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:308,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:308,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:311,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:313,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:316,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:316,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:317,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:317,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:318,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:318,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:321,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:323,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:325,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:326,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:326,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:326,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:327,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:328,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:328,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:331,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:333,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:335,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:336,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:336,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:336,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:337,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:337,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:338,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:338,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:341,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:343,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:345,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:346,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:346,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:346,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:347,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:347,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:348,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:348,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:351,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:353,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:355,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:356,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:356,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:356,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:357,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:357,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:358,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:358,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 362
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, MoreVariableTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:365,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:368,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:368,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:369,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:370,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:370,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:373,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:375,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:377,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:378,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:378,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:378,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:379,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:379,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:380,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:380,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:383,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:385,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:387,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:388,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:388,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:388,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:389,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:390,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:390,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:393,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:395,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:397,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:398,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:398,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:398,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:399,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:399,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:400,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:400,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:403,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:405,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:407,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:408,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:408,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:409,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:410,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:410,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:413,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:415,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:417,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:418,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:418,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:418,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:419,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:419,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:420,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:420,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:423,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:425,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:427,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:428,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:428,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:428,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:429,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:429,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:430,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:430,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 434
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, VariableAndCustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:437,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:438,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:439,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:439,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:439,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:440,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:440,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:441,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:441,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 442
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, RootPATH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:445,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:445,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:446,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:446,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:447,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:447,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:448,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:449,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:449,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:451,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:452,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:452,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:453,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:453,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:455,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:455,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:456,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:456,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:457,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:457,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:458,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:458,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:459,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:459,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:460,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:460,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:461,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:461,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:462,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:462,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:463,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:463,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:465,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:465,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:466,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:466,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:467,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:467,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:468,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:468,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:470,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:471,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:471,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:472,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:472,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:473,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:473,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:475,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:475,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:476,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:476,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:477,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:477,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:478,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:478,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:479,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:480,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:480,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:481,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:481,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:482,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:482,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:483,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:483,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:484,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:484,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:486,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:486,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:487,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:487,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:488,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:488,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:489,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:489,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:490,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:490,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:491,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:491,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:492,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:492,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:493,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:493,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:494,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:494,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:495,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:495,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:496,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:496,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:497,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 498
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ErrorTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:501,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:502,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:503,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:503,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:503,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:504,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 505
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:508,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:509,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:510,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:510,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:510,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:511,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 512
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:515,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:516,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:517,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:517,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:517,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:518,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:522,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:522,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:523,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:524,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:524,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:525,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:525,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:526,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:526,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:527,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 528
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseNonVerbTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' v1'
    - ' v2'
    argTypes:
    - Variable
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: operator==(const Variable& v1, const Variable& v2)
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Variable& v1, const Variable& v2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: espv2::api_proxy::path_matcher::FieldPathToString
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' var'
    argTypes:
    - std::ostream
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: '& operator<<(std::ostream& os, const Variable& var)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Variable& var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' vars'
    argTypes:
    - std::ostream
    - Variables
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: '& operator<<(std::ostream& os, const Variables& vars)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Variables& vars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:64,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:66,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:66,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:67,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:67,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:75,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:76,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:77,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:77,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:78,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:79,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:79,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:83,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:84,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:85,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:85,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:86,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:87,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:87,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:91,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:92,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:93,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:93,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:94,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:94,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:95,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:95,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:99,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:101,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:101,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:102,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:103,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:103,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:107,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:109,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:109,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:109,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:110,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:111,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:111,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:115,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:116,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:117,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:117,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:117,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:118,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:119,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:119,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:123,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:125,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:125,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:126,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:126,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:127,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:127,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:131,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:132,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:133,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:133,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:134,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:135,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:135,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest7)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:142,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:144,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:144,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:145,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:146,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:146,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:153,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:154,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:155,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:155,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:155,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:156,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:156,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:157,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:157,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest9)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:164,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:165,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:166,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:166,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:166,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:167,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:167,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:168,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:168,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:175,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:176,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:177,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:177,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:177,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:178,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:178,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:179,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:179,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest11)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:186,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:187,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:188,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:188,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:189,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:190,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:190,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest12)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:197,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:198,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:199,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:199,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:199,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:200,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:200,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:201,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:201,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest13)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:209,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:210,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:210,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:210,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:211,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:211,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:212,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:212,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest14)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:219,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:221,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:221,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:222,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:223,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:223,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 227
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest15)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:230,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:231,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:232,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:232,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:232,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:233,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:233,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:234,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:234,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:242,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:242,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:242,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:243,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:243,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:243,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:246,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:246,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:246,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:247,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:247,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:247,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:249,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:250,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:250,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:251,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:251,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:254,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:256,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:257,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:257,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:258,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:258,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:258,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:261,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:261,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:261,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:262,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:262,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:262,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:264,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:265,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:265,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:265,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:266,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:266,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 270
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, CustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:273,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:276,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:276,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:277,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:278,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:278,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:281,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:283,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:286,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:286,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:286,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:287,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:287,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:288,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:288,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:291,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:293,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:296,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:296,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:297,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:297,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:298,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:298,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:301,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:303,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:305,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:306,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:306,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:306,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:307,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:307,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:308,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:308,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:311,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:313,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:316,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:316,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:317,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:317,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:318,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:318,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:321,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:323,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:325,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:326,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:326,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:326,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:327,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:328,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:328,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:331,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:333,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:335,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:336,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:336,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:336,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:337,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:337,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:338,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:338,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:341,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:343,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:345,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:346,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:346,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:346,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:347,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:347,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:348,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:348,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:351,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:353,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:355,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:356,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:356,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:356,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:357,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:357,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:358,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:358,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 362
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, MoreVariableTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:365,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:368,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:368,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:369,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:370,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:370,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:373,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:375,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:377,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:378,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:378,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:378,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:379,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:379,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:380,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:380,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:383,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:385,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:387,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:388,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:388,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:388,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:389,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:390,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:390,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:393,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:395,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:397,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:398,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:398,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:398,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:399,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:399,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:400,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:400,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:403,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:405,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:407,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:408,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:408,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:409,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:410,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:410,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:413,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:415,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:417,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:418,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:418,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:418,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:419,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:419,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:420,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:420,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:423,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:425,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:427,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:428,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:428,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:428,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:429,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:429,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:430,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:430,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 434
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, VariableAndCustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:437,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:438,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:439,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:439,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:439,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:440,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:440,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:441,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:441,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 442
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, RootPATH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:445,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:445,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:446,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:446,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:447,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:447,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:448,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:449,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:449,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:451,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:452,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:452,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:453,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:453,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:455,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:455,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:456,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:456,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:457,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:457,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:458,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:458,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:459,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:459,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:460,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:460,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:461,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:461,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:462,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:462,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:463,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:463,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:465,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:465,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:466,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:466,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:467,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:467,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:468,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:468,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:470,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:471,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:471,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:472,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:472,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:473,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:473,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:475,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:475,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:476,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:476,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:477,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:477,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:478,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:478,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:479,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:480,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:480,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:481,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:481,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:482,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:482,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:483,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:483,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:484,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:484,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:486,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:486,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:487,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:487,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:488,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:488,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:489,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:489,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:490,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:490,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:491,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:491,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:492,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:492,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:493,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:493,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:494,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:494,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:495,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:495,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:496,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:496,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:497,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 498
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ErrorTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:501,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:502,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:503,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:503,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:503,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:504,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 505
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:508,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:509,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:510,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:510,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:510,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:511,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 512
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:515,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:516,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:517,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:517,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:517,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:518,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:522,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:522,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:523,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:524,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:524,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:525,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:525,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:526,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:526,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:527,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 528
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseNonVerbTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ' v1'
    - ' v2'
    argTypes:
    - Variable
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: operator==(const Variable& v1, const Variable& v2)
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Variable& v1, const Variable& v2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: espv2::api_proxy::path_matcher::FieldPathToString
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' var'
    argTypes:
    - std::ostream
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: '& operator<<(std::ostream& os, const Variable& var)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Variable& var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' vars'
    argTypes:
    - std::ostream
    - Variables
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: '& operator<<(std::ostream& os, const Variables& vars)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Variables& vars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:64,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:65,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:66,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:66,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:66,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:67,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:67,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:75,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:76,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:77,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:77,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:77,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:78,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:79,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:79,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:83,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:84,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:85,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:85,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:85,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:86,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:87,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:87,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:91,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:92,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:93,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:93,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:94,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:94,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:95,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:95,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:99,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:100,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:101,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:101,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:101,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:102,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:103,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:103,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:107,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:109,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:109,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:109,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:110,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:111,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:111,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:115,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:116,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:117,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:117,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:117,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:118,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:119,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:119,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:123,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:124,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:125,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:125,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:125,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:126,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:126,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:127,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:127,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:131,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:132,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:133,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:133,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:134,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:135,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:135,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest7)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:142,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:143,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:144,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:144,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:144,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:145,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:146,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:146,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:153,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:154,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:155,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:155,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:155,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:156,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:156,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:157,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:157,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest9)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:164,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:165,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:166,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:166,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:166,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:167,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:167,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:168,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:168,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:175,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:176,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:177,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:177,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:177,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:178,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:178,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:179,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:179,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest11)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:186,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:187,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:188,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:188,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:189,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:190,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:190,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest12)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:197,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:198,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:199,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:199,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:199,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:200,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:200,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:201,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:201,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest13)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:208,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:209,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:210,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:210,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:210,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:211,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:211,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:212,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:212,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest14)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:219,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:220,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:221,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:221,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:222,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:223,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:223,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 227
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest15)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:230,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:231,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:232,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:232,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:232,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:233,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:233,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:234,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:234,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:242,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:242,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:242,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:243,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:243,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:243,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:245,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:246,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:246,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:246,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:247,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:247,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:247,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:249,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:250,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:250,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:250,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:251,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:251,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:254,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:256,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:257,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:257,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:257,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:258,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:258,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:258,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:260,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:261,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:261,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:261,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:262,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:262,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:262,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:264,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:265,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:265,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:265,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:266,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:266,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 270
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, CustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:273,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:275,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:276,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:276,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:276,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:277,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:278,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:278,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:281,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:283,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:285,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:286,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:286,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:286,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:287,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:287,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:288,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:288,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:291,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:293,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:295,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:296,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:296,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:296,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:297,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:297,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:298,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:298,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:301,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:303,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:305,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:306,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:306,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:306,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:307,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:307,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:308,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:308,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:311,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:313,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:315,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:316,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:316,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:316,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:317,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:317,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:318,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:318,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:321,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:323,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:325,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:326,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:326,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:326,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:327,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:328,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:328,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:331,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:333,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:335,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:336,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:336,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:336,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:337,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:337,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:338,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:338,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:341,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:343,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:345,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:346,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:346,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:346,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:347,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:347,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:348,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:348,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:351,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:353,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:355,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:356,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:356,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:356,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:357,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:357,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:358,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:358,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 362
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, MoreVariableTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:365,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:367,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:368,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:368,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:368,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:369,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:370,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:370,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:373,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:375,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:377,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:378,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:378,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:378,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:379,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:379,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:380,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:380,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:383,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:385,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:387,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:388,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:388,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:388,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:389,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:390,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:390,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:393,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:395,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:397,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:398,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:398,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:398,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:399,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:399,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:400,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:400,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:403,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:405,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:407,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:408,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:408,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:408,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:409,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:410,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:410,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:413,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:415,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:417,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:418,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:418,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:418,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:419,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:419,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:420,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:420,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:423,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:425,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:427,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:428,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:428,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:428,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:429,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:429,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:430,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:430,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 434
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, VariableAndCustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:437,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:438,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:439,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:439,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:439,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:440,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:440,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:441,1
    - Dst: Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:441,1
    - Dst: auto::Variables
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 442
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    - Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, RootPATH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:445,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:445,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:446,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:446,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:447,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:447,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:448,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:449,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:449,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:451,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:452,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:452,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:453,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:453,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:455,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:455,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:456,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:456,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:457,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:457,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:458,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:458,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:459,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:459,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:460,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:460,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:461,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:461,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:462,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:462,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:463,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:463,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:465,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:465,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:466,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:466,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:467,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:467,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:468,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:468,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:470,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:471,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:471,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:472,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:472,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:473,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:473,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:475,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:475,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:476,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:476,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:477,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:477,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:478,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:478,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:479,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:480,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:480,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:481,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:481,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:482,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:482,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:483,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:483,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:484,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:484,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:486,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:486,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:487,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:487,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:488,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:488,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:489,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:489,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:490,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:490,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:491,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:491,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:492,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:492,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:493,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:493,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:494,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:494,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:495,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:495,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:496,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:496,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:497,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 498
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ErrorTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:501,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:502,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:503,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:503,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:503,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:504,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 505
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:508,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:509,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:510,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:510,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:510,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:511,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 512
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:515,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:516,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:517,1
    - Dst: auto::segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:517,1
    - Dst: Segments
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:517,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:518,1
    - Dst: auto::verb
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 519
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - ASSERT_NE
    - auto::segments
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    - Segments
    - auto::verb
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:522,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:522,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:523,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:524,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:524,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:525,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:525,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:526,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:526,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:527,1
    - Dst: espv2::api_proxy::path_matcher::HttpTemplate::Parse
      Src: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 528
    functionName: espv2::api_proxy::path_matcher::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - espv2::api_proxy::path_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseNonVerbTest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: espv2::api_proxy::path_matcher::FieldPathToString
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: espv2::api_proxy::path_matcher::FieldPathToString
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' b'
    argTypes:
    - std::ostream
    - VariableBinding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: '& operator<<(std::ostream& os, const VariableBinding& b)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const VariableBinding&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' bindings'
    argTypes:
    - std::ostream
    - VariableBindings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: '& operator<<(std::ostream& os, const VariableBindings& bindings)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const VariableBindings&
      bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:73,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: system_query_parameter_names
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:75,1
    - Dst: Register
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:76,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MethodInfo::MethodInfo
    - ON_CALL
    - Register
    - emplace_back
    - system_query_parameter_names
    - ReturnRef
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Build
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 1
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - VariableBindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 1
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * Lookup(std::string method, std::string path,\n                     VariableBindings*
      bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 2
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:105,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:106,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:117,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:118,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:119,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:120,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:121,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:122,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:123,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:125,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:126,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:127,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:128,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 146
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:149,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:150,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:151,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:152,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:154,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMethodMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:167,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:168,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:169,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:170,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:171,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:172,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:173,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:174,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:175,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:176,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:178,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:179,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:180,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:181,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:182,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:183,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:184,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:185,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 247
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:250,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:278,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:279,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:281,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:286,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - espv2::api_proxy::path_matcher::HexDigit
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - std::string
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:300,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:301,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:314,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:315,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:317,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:328,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:329,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:334,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:335,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 345
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, OnlyUnreservedCharsAreUnescapedForMultiSegmentMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:348,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:349,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:350,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:351,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:352,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:353,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:354,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:356,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:357,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:358,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:359,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:360,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:361,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:369,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:391,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:392,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:393,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:394,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:395,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:396,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:397,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:398,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:399,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:400,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:401,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:402,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:404,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:405,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:406,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:407,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:408,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:409,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:410,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:411,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:412,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:413,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:418,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:435,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 470
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 482
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:485,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:486,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:487,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:488,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:489,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:490,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:492,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:493,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:494,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:495,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 506
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:510,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:515,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 520
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:523,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:524,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:533,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:534,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:535,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:536,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:538,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:539,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 550
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:558,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:559,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:560,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:561,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:562,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:563,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:565,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:566,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:567,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:568,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 582
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:586,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:590,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 594
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:597,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:598,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 606
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, AllowDuplicate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:609,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:610,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 621
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - AddPath
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DuplicatedOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:640,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:641,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:642,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 645
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:73,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: system_query_parameter_names
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:75,1
    - Dst: Register
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:76,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 1
    functionsReached:
    - MethodInfo::MethodInfo
    - ON_CALL
    - Register
    - emplace_back
    - system_query_parameter_names
    - ReturnRef
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Build
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 2
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - VariableBindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 3
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * Lookup(std::string method, std::string path,\n                     VariableBindings*
      bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 4
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:105,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:106,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:117,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:118,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:119,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:120,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:121,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:122,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:123,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:125,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:126,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:127,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:128,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 146
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:149,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:150,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:151,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:152,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:154,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMethodMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:167,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:168,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:169,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:170,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:171,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:172,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:173,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:174,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:175,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:176,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:178,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:179,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:180,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:181,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:182,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:183,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:184,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:185,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 247
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:250,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:278,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:279,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:281,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:286,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - espv2::api_proxy::path_matcher::HexDigit
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - std::string
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:300,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:301,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:314,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:315,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:317,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:328,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:329,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:334,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:335,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 345
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, OnlyUnreservedCharsAreUnescapedForMultiSegmentMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:348,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:349,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:350,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:351,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:352,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:353,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:354,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:356,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:357,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:358,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:359,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:360,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:361,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:369,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:391,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:392,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:393,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:394,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:395,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:396,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:397,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:398,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:399,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:400,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:401,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:402,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:404,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:405,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:406,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:407,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:408,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:409,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:410,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:411,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:412,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:413,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:418,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:435,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 470
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 482
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:485,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:486,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:487,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:488,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:489,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:490,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:492,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:493,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:494,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:495,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 506
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:510,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:515,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 520
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:523,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:524,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:533,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:534,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:535,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:536,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:538,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:539,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 550
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:558,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:559,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:560,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:561,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:562,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:563,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:565,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:566,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:567,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:568,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 582
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:586,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:590,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 594
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:597,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:598,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 606
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, AllowDuplicate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:609,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:610,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 621
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - AddPath
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DuplicatedOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:640,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:641,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:642,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 645
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: espv2::api_proxy::path_matcher::FieldPathToString
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: espv2::api_proxy::path_matcher::FieldPathToString
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' b'
    argTypes:
    - std::ostream
    - VariableBinding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: '& operator<<(std::ostream& os, const VariableBinding& b)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const VariableBinding&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' bindings'
    argTypes:
    - std::ostream
    - VariableBindings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: '& operator<<(std::ostream& os, const VariableBindings& bindings)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const VariableBindings&
      bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:73,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: system_query_parameter_names
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:75,1
    - Dst: Register
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:76,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 2
    functionsReached:
    - MethodInfo::MethodInfo
    - ON_CALL
    - Register
    - emplace_back
    - system_query_parameter_names
    - ReturnRef
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Build
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 3
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - VariableBindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 5
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * Lookup(std::string method, std::string path,\n                     VariableBindings*
      bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 6
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:105,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:106,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:117,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:118,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:119,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:120,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:121,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:122,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:123,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:125,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:126,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:127,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:128,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 146
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:149,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:150,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:151,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:152,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:154,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMethodMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:167,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:168,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:169,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:170,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:171,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:172,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:173,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:174,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:175,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:176,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:178,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:179,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:180,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:181,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:182,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:183,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:184,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:185,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 247
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:250,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:278,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:279,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:281,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:286,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - espv2::api_proxy::path_matcher::HexDigit
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - std::string
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:300,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:301,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:314,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:315,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:317,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:328,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:329,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:334,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:335,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 345
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, OnlyUnreservedCharsAreUnescapedForMultiSegmentMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:348,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:349,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:350,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:351,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:352,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:353,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:354,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:356,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:357,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:358,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:359,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:360,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:361,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:369,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:391,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:392,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:393,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:394,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:395,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:396,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:397,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:398,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:399,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:400,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:401,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:402,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:404,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:405,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:406,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:407,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:408,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:409,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:410,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:411,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:412,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:413,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:418,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:435,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 470
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 482
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:485,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:486,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:487,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:488,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:489,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:490,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:492,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:493,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:494,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:495,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 506
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:510,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:515,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 520
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:523,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:524,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:533,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:534,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:535,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:536,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:538,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:539,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 550
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:558,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:559,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:560,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:561,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:562,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:563,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:565,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:566,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:567,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:568,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 582
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:586,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:590,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 594
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:597,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:598,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 606
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, AllowDuplicate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:609,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:610,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 621
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - AddPath
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DuplicatedOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:640,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:641,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:642,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 645
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:73,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: system_query_parameter_names
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:75,1
    - Dst: Register
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:76,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 3
    functionsReached:
    - MethodInfo::MethodInfo
    - ON_CALL
    - Register
    - emplace_back
    - system_query_parameter_names
    - ReturnRef
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Build
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 4
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - VariableBindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 7
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * Lookup(std::string method, std::string path,\n                     VariableBindings*
      bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 8
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:105,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:106,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:117,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:118,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:119,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:120,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:121,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:122,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:123,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:125,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:126,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:127,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:128,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 146
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:149,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:150,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:151,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:152,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:154,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMethodMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:167,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:168,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:169,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:170,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:171,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:172,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:173,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:174,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:175,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:176,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:178,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:179,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:180,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:181,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:182,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:183,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:184,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:185,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 247
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:250,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:278,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:279,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:281,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:286,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - espv2::api_proxy::path_matcher::HexDigit
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - std::string
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:300,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:301,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:314,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:315,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:317,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:328,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:329,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:334,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:335,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 345
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, OnlyUnreservedCharsAreUnescapedForMultiSegmentMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:348,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:349,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:350,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:351,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:352,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:353,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:354,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:356,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:357,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:358,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:359,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:360,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:361,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:369,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:391,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:392,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:393,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:394,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:395,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:396,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:397,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:398,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:399,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:400,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:401,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:402,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:404,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:405,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:406,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:407,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:408,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:409,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:410,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:411,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:412,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:413,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:418,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:435,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 470
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 482
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:485,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:486,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:487,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:488,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:489,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:490,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:492,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:493,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:494,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:495,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 506
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:510,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:515,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 520
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:523,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:524,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:533,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:534,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:535,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:536,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:538,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:539,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 550
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:558,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:559,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:560,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:561,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:562,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:563,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:565,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:566,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:567,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:568,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 582
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:586,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:590,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 594
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:597,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:598,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 606
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, AllowDuplicate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:609,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:610,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 621
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - AddPath
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DuplicatedOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:640,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:641,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:642,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 645
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: espv2::api_proxy::path_matcher::FieldPathToString
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: espv2::api_proxy::path_matcher::FieldPathToString
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' b'
    argTypes:
    - std::ostream
    - VariableBinding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: '& operator<<(std::ostream& os, const VariableBinding& b)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const VariableBinding&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' bindings'
    argTypes:
    - std::ostream
    - VariableBindings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: '& operator<<(std::ostream& os, const VariableBindings& bindings)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const VariableBindings&
      bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:73,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: system_query_parameter_names
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:75,1
    - Dst: Register
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:76,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 4
    functionsReached:
    - MethodInfo::MethodInfo
    - ON_CALL
    - Register
    - emplace_back
    - system_query_parameter_names
    - ReturnRef
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Build
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 5
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - VariableBindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 9
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * Lookup(std::string method, std::string path,\n                     VariableBindings*
      bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 10
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:105,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:106,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:117,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:118,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:119,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:120,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:121,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:122,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:123,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:125,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:126,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:127,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:128,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 146
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:149,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:150,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:151,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:152,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:154,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMethodMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:167,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:168,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:169,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:170,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:171,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:172,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:173,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:174,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:175,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:176,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:178,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:179,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:180,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:181,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:182,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:183,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:184,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:185,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 247
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:250,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:278,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:279,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:281,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:286,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - espv2::api_proxy::path_matcher::HexDigit
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - std::string
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:300,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:301,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:314,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:315,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:317,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:328,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:329,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:334,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:335,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 345
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, OnlyUnreservedCharsAreUnescapedForMultiSegmentMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:348,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:349,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:350,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:351,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:352,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:353,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:354,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:356,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:357,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:358,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:359,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:360,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:361,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:369,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:391,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:392,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:393,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:394,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:395,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:396,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:397,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:398,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:399,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:400,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:401,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:402,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:404,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:405,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:406,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:407,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:408,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:409,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:410,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:411,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:412,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:413,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:418,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:435,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 470
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 482
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:485,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:486,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:487,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:488,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:489,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:490,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:492,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:493,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:494,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:495,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 506
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:510,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:515,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 520
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:523,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:524,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:533,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:534,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:535,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:536,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:538,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:539,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 550
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:558,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:559,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:560,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:561,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:562,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:563,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:565,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:566,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:567,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:568,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 582
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:586,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:590,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 594
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:597,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:598,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 606
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, AllowDuplicate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:609,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:610,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 621
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - AddPath
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DuplicatedOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:640,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:641,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:642,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 645
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:73,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: system_query_parameter_names
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:75,1
    - Dst: Register
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:76,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 5
    functionsReached:
    - MethodInfo::MethodInfo
    - ON_CALL
    - Register
    - emplace_back
    - system_query_parameter_names
    - ReturnRef
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Build
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 6
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - VariableBindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 11
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * Lookup(std::string method, std::string path,\n                     VariableBindings*
      bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 12
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:105,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:106,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:117,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:118,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:119,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:120,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:121,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:122,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:123,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:125,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:126,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:127,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:128,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 146
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:149,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:150,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:151,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:152,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:154,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMethodMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:167,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:168,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:169,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:170,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:171,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:172,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:173,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:174,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:175,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:176,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:178,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:179,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:180,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:181,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:182,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:183,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:184,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:185,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 247
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:250,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:278,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:279,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:281,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:286,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - espv2::api_proxy::path_matcher::HexDigit
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - std::string
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:300,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:301,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:314,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:315,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:317,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:328,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:329,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:334,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:335,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 345
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, OnlyUnreservedCharsAreUnescapedForMultiSegmentMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:348,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:349,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:350,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:351,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:352,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:353,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:354,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:356,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:357,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:358,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:359,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:360,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:361,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:369,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:391,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:392,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:393,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:394,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:395,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:396,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:397,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:398,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:399,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:400,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:401,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:402,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:404,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:405,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:406,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:407,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:408,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:409,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:410,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:411,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:412,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:413,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:418,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:435,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 470
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 482
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:485,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:486,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:487,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:488,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:489,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:490,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:492,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:493,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:494,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:495,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 506
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:510,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:515,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 520
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:523,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:524,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:533,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:534,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:535,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:536,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:538,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:539,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 550
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:558,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:559,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:560,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:561,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:562,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:563,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:565,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:566,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:567,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:568,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 582
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:586,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:590,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 594
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:597,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:598,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 606
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, AllowDuplicate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:609,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:610,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 621
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - AddPath
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DuplicatedOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:640,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:641,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:642,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 645
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: espv2::api_proxy::path_matcher::FieldPathToString
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: espv2::api_proxy::path_matcher::FieldPathToString
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' b'
    argTypes:
    - std::ostream
    - VariableBinding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: '& operator<<(std::ostream& os, const VariableBinding& b)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const VariableBinding&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' bindings'
    argTypes:
    - std::ostream
    - VariableBindings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: '& operator<<(std::ostream& os, const VariableBindings& bindings)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const VariableBindings&
      bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:73,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: system_query_parameter_names
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:75,1
    - Dst: Register
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:76,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 6
    functionsReached:
    - MethodInfo::MethodInfo
    - ON_CALL
    - Register
    - emplace_back
    - system_query_parameter_names
    - ReturnRef
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Build
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 7
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - VariableBindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 13
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * Lookup(std::string method, std::string path,\n                     VariableBindings*
      bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 14
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:105,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:106,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:117,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:118,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:119,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:120,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:121,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:122,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:123,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:125,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:126,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:127,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:128,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 146
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:149,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:150,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:151,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:152,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:154,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMethodMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:167,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:168,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:169,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:170,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:171,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:172,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:173,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:174,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:175,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:176,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:178,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:179,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:180,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:181,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:182,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:183,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:184,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:185,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 247
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:250,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:278,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:279,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:281,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:286,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - espv2::api_proxy::path_matcher::HexDigit
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - std::string
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:300,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:301,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:314,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:315,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:317,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:328,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:329,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:334,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:335,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 345
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, OnlyUnreservedCharsAreUnescapedForMultiSegmentMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:348,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:349,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:350,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:351,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:352,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:353,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:354,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:356,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:357,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:358,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:359,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:360,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:361,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:369,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:391,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:392,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:393,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:394,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:395,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:396,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:397,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:398,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:399,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:400,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:401,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:402,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:404,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:405,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:406,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:407,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:408,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:409,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:410,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:411,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:412,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:413,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:418,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:435,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 470
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 482
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:485,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:486,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:487,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:488,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:489,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:490,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:492,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:493,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:494,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:495,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 506
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:510,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:515,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 520
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:523,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:524,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:533,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:534,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:535,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:536,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:538,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:539,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 550
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:558,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:559,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:560,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:561,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:562,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:563,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:565,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:566,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:567,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:568,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 582
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:586,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:590,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 594
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:597,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:598,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 606
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, AllowDuplicate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:609,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:610,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 621
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - AddPath
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DuplicatedOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:640,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:641,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:642,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 645
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:73,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: system_query_parameter_names
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:75,1
    - Dst: Register
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:76,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 7
    functionsReached:
    - MethodInfo::MethodInfo
    - ON_CALL
    - Register
    - emplace_back
    - system_query_parameter_names
    - ReturnRef
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Build
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 8
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - VariableBindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 15
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * Lookup(std::string method, std::string path,\n                     VariableBindings*
      bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 16
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:105,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:106,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:117,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:118,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:119,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:120,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:121,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:122,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:123,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:125,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:126,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:127,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:128,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 146
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:149,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:150,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:151,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:152,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:154,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMethodMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:167,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:168,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:169,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:170,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:171,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:172,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:173,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:174,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:175,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:176,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:178,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:179,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:180,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:181,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:182,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:183,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:184,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:185,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 247
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:250,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:278,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:279,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:281,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:286,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - espv2::api_proxy::path_matcher::HexDigit
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - std::string
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:300,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:301,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:314,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:315,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:317,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:328,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:329,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:334,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:335,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 345
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, OnlyUnreservedCharsAreUnescapedForMultiSegmentMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:348,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:349,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:350,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:351,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:352,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:353,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:354,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:356,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:357,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:358,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:359,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:360,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:361,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:369,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:391,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:392,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:393,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:394,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:395,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:396,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:397,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:398,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:399,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:400,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:401,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:402,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:404,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:405,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:406,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:407,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:408,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:409,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:410,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:411,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:412,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:413,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:418,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:435,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 470
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 482
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:485,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:486,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:487,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:488,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:489,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:490,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:492,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:493,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:494,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:495,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 506
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:510,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:515,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 520
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:523,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:524,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:533,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:534,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:535,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:536,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:538,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:539,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 550
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:558,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:559,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:560,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:561,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:562,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:563,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:565,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:566,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:567,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:568,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 582
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:586,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:590,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 594
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:597,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:598,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 606
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, AllowDuplicate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:609,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:610,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 621
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - AddPath
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DuplicatedOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:640,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:641,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:642,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 645
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: espv2::api_proxy::path_matcher::FieldPathToString
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: espv2::api_proxy::path_matcher::FieldPathToString
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' b'
    argTypes:
    - std::ostream
    - VariableBinding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: '& operator<<(std::ostream& os, const VariableBinding& b)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const VariableBinding&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' bindings'
    argTypes:
    - std::ostream
    - VariableBindings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: '& operator<<(std::ostream& os, const VariableBindings& bindings)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const VariableBindings&
      bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:73,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: system_query_parameter_names
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:75,1
    - Dst: Register
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:76,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 8
    functionsReached:
    - MethodInfo::MethodInfo
    - ON_CALL
    - Register
    - emplace_back
    - system_query_parameter_names
    - ReturnRef
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Build
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 9
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - VariableBindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 17
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * Lookup(std::string method, std::string path,\n                     VariableBindings*
      bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 18
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:105,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:106,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:117,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:118,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:119,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:120,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:121,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:122,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:123,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:125,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:126,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:127,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:128,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 146
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:149,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:150,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:151,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:152,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:154,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMethodMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:167,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:168,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:169,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:170,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:171,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:172,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:173,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:174,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:175,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:176,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:178,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:179,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:180,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:181,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:182,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:183,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:184,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:185,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 247
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:250,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:278,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:279,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:281,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:286,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - espv2::api_proxy::path_matcher::HexDigit
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - std::string
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:300,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:301,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:314,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:315,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:317,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:328,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:329,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:334,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:335,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 345
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, OnlyUnreservedCharsAreUnescapedForMultiSegmentMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:348,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:349,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:350,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:351,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:352,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:353,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:354,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:356,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:357,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:358,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:359,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:360,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:361,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:369,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:391,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:392,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:393,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:394,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:395,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:396,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:397,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:398,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:399,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:400,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:401,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:402,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:404,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:405,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:406,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:407,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:408,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:409,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:410,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:411,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:412,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:413,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:418,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:435,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 470
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 482
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:485,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:486,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:487,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:488,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:489,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:490,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:492,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:493,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:494,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:495,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 506
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:510,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:515,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 520
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:523,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:524,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:533,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:534,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:535,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:536,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:538,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:539,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 550
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:558,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:559,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:560,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:561,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:562,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:563,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:565,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:566,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:567,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:568,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 582
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:586,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:590,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 594
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:597,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:598,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 606
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, AllowDuplicate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:609,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:610,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 621
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - AddPath
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DuplicatedOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:640,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:641,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:642,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 645
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:73,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: system_query_parameter_names
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:75,1
    - Dst: Register
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:76,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 9
    functionsReached:
    - MethodInfo::MethodInfo
    - ON_CALL
    - Register
    - emplace_back
    - system_query_parameter_names
    - ReturnRef
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Build
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 10
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - VariableBindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 19
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * Lookup(std::string method, std::string path,\n                     VariableBindings*
      bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 20
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:105,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:106,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:117,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:118,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:119,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:120,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:121,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:122,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:123,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:125,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:126,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:127,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:128,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 146
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:149,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:150,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:151,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:152,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:154,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMethodMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:167,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:168,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:169,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:170,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:171,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:172,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:173,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:174,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:175,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:176,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:178,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:179,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:180,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:181,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:182,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:183,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:184,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:185,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 247
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:250,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:278,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:279,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:281,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:286,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - espv2::api_proxy::path_matcher::HexDigit
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - std::string
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:300,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:301,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:314,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:315,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:317,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:328,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:329,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:334,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:335,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 345
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, OnlyUnreservedCharsAreUnescapedForMultiSegmentMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:348,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:349,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:350,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:351,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:352,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:353,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:354,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:356,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:357,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:358,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:359,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:360,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:361,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:369,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:391,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:392,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:393,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:394,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:395,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:396,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:397,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:398,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:399,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:400,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:401,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:402,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:404,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:405,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:406,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:407,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:408,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:409,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:410,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:411,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:412,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:413,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:418,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:435,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 470
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 482
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:485,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:486,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:487,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:488,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:489,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:490,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:492,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:493,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:494,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:495,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 506
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:510,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:515,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 520
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:523,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:524,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:533,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:534,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:535,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:536,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:538,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:539,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 550
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:558,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:559,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:560,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:561,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:562,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:563,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:565,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:566,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:567,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:568,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 582
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:586,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:590,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 594
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:597,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:598,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 606
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, AllowDuplicate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:609,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:610,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 621
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - AddPath
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DuplicatedOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:640,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:641,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:642,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 645
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: espv2::api_proxy::path_matcher::FieldPathToString
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: espv2::api_proxy::path_matcher::FieldPathToString
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' b'
    argTypes:
    - std::ostream
    - VariableBinding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: '& operator<<(std::ostream& os, const VariableBinding& b)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const VariableBinding&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' bindings'
    argTypes:
    - std::ostream
    - VariableBindings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: '& operator<<(std::ostream& os, const VariableBindings& bindings)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const VariableBindings&
      bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:73,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: system_query_parameter_names
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:75,1
    - Dst: Register
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:76,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 10
    functionsReached:
    - MethodInfo::MethodInfo
    - ON_CALL
    - Register
    - emplace_back
    - system_query_parameter_names
    - ReturnRef
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Build
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 11
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - VariableBindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 21
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * Lookup(std::string method, std::string path,\n                     VariableBindings*
      bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 22
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:105,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:106,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:117,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:118,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:119,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:120,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:121,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:122,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:123,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:125,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:126,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:127,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:128,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 146
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:149,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:150,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:151,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:152,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:154,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMethodMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:167,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:168,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:169,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:170,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:171,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:172,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:173,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:174,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:175,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:176,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:178,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:179,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:180,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:181,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:182,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:183,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:184,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:185,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 247
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:250,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:278,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:279,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:281,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:286,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - espv2::api_proxy::path_matcher::HexDigit
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - std::string
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:300,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:301,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:314,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:315,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:317,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:328,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:329,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:334,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:335,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 345
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, OnlyUnreservedCharsAreUnescapedForMultiSegmentMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:348,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:349,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:350,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:351,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:352,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:353,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:354,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:356,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:357,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:358,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:359,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:360,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:361,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:369,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:391,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:392,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:393,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:394,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:395,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:396,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:397,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:398,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:399,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:400,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:401,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:402,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:404,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:405,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:406,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:407,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:408,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:409,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:410,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:411,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:412,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:413,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:418,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:435,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 470
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 482
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:485,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:486,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:487,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:488,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:489,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:490,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:492,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:493,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:494,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:495,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 506
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:510,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:515,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 520
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:523,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:524,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:533,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:534,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:535,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:536,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:538,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:539,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 550
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:558,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:559,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:560,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:561,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:562,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:563,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:565,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:566,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:567,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:568,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 582
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:586,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:590,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 594
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:597,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:598,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 606
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, AllowDuplicate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:609,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:610,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 621
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - AddPath
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DuplicatedOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:640,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:641,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:642,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 645
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:73,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: system_query_parameter_names
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:75,1
    - Dst: Register
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:76,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 11
    functionsReached:
    - MethodInfo::MethodInfo
    - ON_CALL
    - Register
    - emplace_back
    - system_query_parameter_names
    - ReturnRef
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Build
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 12
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - VariableBindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 23
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * Lookup(std::string method, std::string path,\n                     VariableBindings*
      bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 24
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:105,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:106,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:117,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:118,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:119,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:120,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:121,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:122,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:123,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:125,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:126,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:127,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:128,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 146
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:149,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:150,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:151,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:152,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:154,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMethodMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:167,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:168,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:169,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:170,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:171,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:172,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:173,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:174,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:175,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:176,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:178,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:179,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:180,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:181,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:182,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:183,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:184,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:185,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 247
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:250,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:278,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:279,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:281,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:286,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - espv2::api_proxy::path_matcher::HexDigit
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - std::string
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:300,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:301,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:314,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:315,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:317,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:328,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:329,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:334,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:335,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 345
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, OnlyUnreservedCharsAreUnescapedForMultiSegmentMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:348,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:349,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:350,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:351,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:352,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:353,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:354,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:356,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:357,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:358,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:359,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:360,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:361,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:369,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:391,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:392,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:393,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:394,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:395,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:396,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:397,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:398,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:399,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:400,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:401,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:402,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:404,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:405,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:406,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:407,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:408,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:409,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:410,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:411,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:412,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:413,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:418,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:435,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 470
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 482
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:485,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:486,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:487,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:488,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:489,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:490,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:492,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:493,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:494,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:495,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 506
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:510,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:515,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 520
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:523,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:524,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:533,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:534,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:535,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:536,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:538,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:539,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 550
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:558,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:559,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:560,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:561,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:562,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:563,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:565,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:566,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:567,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:568,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 582
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:586,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:590,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 594
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:597,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:598,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 606
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, AllowDuplicate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:609,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:610,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 621
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - AddPath
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DuplicatedOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:640,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:641,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:642,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 645
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: espv2::api_proxy::path_matcher::FieldPathToString
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: espv2::api_proxy::path_matcher::FieldPathToString
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' b'
    argTypes:
    - std::ostream
    - VariableBinding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: '& operator<<(std::ostream& os, const VariableBinding& b)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const VariableBinding&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' bindings'
    argTypes:
    - std::ostream
    - VariableBindings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: '& operator<<(std::ostream& os, const VariableBindings& bindings)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const VariableBindings&
      bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:73,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: system_query_parameter_names
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:75,1
    - Dst: Register
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:76,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 12
    functionsReached:
    - MethodInfo::MethodInfo
    - ON_CALL
    - Register
    - emplace_back
    - system_query_parameter_names
    - ReturnRef
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Build
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 13
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - VariableBindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 25
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * Lookup(std::string method, std::string path,\n                     VariableBindings*
      bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 26
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:105,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:106,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:117,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:118,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:119,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:120,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:121,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:122,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:123,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:125,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:126,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:127,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:128,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 146
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:149,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:150,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:151,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:152,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:154,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMethodMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:167,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:168,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:169,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:170,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:171,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:172,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:173,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:174,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:175,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:176,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:178,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:179,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:180,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:181,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:182,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:183,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:184,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:185,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 247
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:250,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:278,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:279,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:281,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:286,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - espv2::api_proxy::path_matcher::HexDigit
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - std::string
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:300,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:301,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:314,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:315,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:317,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:328,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:329,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:334,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:335,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 345
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, OnlyUnreservedCharsAreUnescapedForMultiSegmentMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:348,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:349,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:350,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:351,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:352,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:353,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:354,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:356,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:357,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:358,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:359,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:360,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:361,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:369,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:391,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:392,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:393,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:394,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:395,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:396,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:397,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:398,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:399,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:400,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:401,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:402,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:404,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:405,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:406,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:407,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:408,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:409,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:410,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:411,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:412,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:413,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:418,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:435,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 470
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 482
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:485,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:486,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:487,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:488,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:489,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:490,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:492,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:493,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:494,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:495,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 506
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:510,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:515,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 520
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:523,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:524,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:533,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:534,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:535,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:536,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:538,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:539,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 550
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:558,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:559,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:560,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:561,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:562,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:563,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:565,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:566,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:567,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:568,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 582
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:586,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:590,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 594
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:597,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:598,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 606
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, AllowDuplicate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:609,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:610,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 621
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - AddPath
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DuplicatedOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:640,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:641,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:642,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 645
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:73,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: system_query_parameter_names
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:75,1
    - Dst: Register
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:76,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 13
    functionsReached:
    - MethodInfo::MethodInfo
    - ON_CALL
    - Register
    - emplace_back
    - system_query_parameter_names
    - ReturnRef
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Build
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 14
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - VariableBindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 27
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * Lookup(std::string method, std::string path,\n                     VariableBindings*
      bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 28
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:105,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:106,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:117,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:118,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:119,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:120,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:121,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:122,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:123,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:125,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:126,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:127,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:128,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 146
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:149,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:150,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:151,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:152,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:154,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMethodMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:167,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:168,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:169,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:170,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:171,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:172,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:173,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:174,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:175,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:176,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:178,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:179,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:180,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:181,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:182,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:183,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:184,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:185,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 247
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:250,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:278,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:279,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:281,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:286,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - espv2::api_proxy::path_matcher::HexDigit
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - std::string
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:300,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:301,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:314,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:315,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:317,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:328,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:329,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:334,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:335,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 345
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, OnlyUnreservedCharsAreUnescapedForMultiSegmentMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:348,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:349,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:350,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:351,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:352,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:353,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:354,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:356,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:357,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:358,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:359,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:360,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:361,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:369,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:391,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:392,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:393,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:394,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:395,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:396,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:397,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:398,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:399,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:400,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:401,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:402,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:404,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:405,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:406,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:407,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:408,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:409,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:410,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:411,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:412,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:413,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:418,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:435,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 470
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 482
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:485,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:486,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:487,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:488,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:489,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:490,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:492,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:493,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:494,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:495,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 506
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:510,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:515,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 520
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:523,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:524,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:533,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:534,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:535,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:536,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:538,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:539,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 550
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:558,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:559,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:560,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:561,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:562,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:563,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:565,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:566,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:567,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:568,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 582
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:586,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:590,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 594
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:597,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:598,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 606
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, AllowDuplicate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:609,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:610,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 621
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - AddPath
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DuplicatedOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:640,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:641,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:642,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 645
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: espv2::api_proxy::path_matcher::FieldPathToString
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: espv2::api_proxy::path_matcher::FieldPathToString
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' b'
    argTypes:
    - std::ostream
    - VariableBinding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: '& operator<<(std::ostream& os, const VariableBinding& b)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const VariableBinding&
      b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' bindings'
    argTypes:
    - std::ostream
    - VariableBindings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: '& operator<<(std::ostream& os, const VariableBindings& bindings)'
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const VariableBindings&
      bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:73,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: system_query_parameter_names
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:75,1
    - Dst: Register
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:76,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 14
    functionsReached:
    - MethodInfo::MethodInfo
    - ON_CALL
    - Register
    - emplace_back
    - system_query_parameter_names
    - ReturnRef
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Build
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 15
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - VariableBindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 29
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * Lookup(std::string method, std::string path,\n                     VariableBindings*
      bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 30
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:105,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:106,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:117,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:118,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:119,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:120,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:121,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:122,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:123,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:125,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:126,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:127,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:128,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 146
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:149,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:150,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:151,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:152,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:154,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMethodMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:167,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:168,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:169,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:170,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:171,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:172,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:173,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:174,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:175,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:176,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:178,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:179,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:180,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:181,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:182,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:183,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:184,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:185,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 247
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:250,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:278,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:279,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:281,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:286,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - espv2::api_proxy::path_matcher::HexDigit
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - std::string
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:300,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:301,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:314,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:315,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:317,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:328,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:329,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:334,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:335,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 345
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, OnlyUnreservedCharsAreUnescapedForMultiSegmentMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:348,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:349,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:350,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:351,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:352,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:353,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:354,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:356,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:357,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:358,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:359,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:360,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:361,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:369,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:391,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:392,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:393,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:394,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:395,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:396,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:397,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:398,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:399,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:400,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:401,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:402,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:404,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:405,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:406,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:407,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:408,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:409,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:410,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:411,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:412,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:413,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:418,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:435,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 470
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 482
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:485,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:486,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:487,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:488,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:489,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:490,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:492,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:493,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:494,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:495,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 506
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:510,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:515,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 520
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:523,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:524,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:533,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:534,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:535,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:536,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:538,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:539,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 550
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:558,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:559,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:560,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:561,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:562,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:563,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:565,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:566,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:567,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:568,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 582
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:586,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:590,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 594
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:597,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:598,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 606
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, AllowDuplicate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:609,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:610,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 621
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - AddPath
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DuplicatedOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:640,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:641,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:642,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 645
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:73,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: system_query_parameter_names
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:74,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:75,1
    - Dst: Register
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:76,1
    - Dst: emplace_back
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 15
    functionsReached:
    - MethodInfo::MethodInfo
    - ON_CALL
    - Register
    - emplace_back
    - system_query_parameter_names
    - ReturnRef
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Build
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 16
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - VariableBindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 31
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * Lookup(std::string method, std::string path,\n                     VariableBindings*
      bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 32
    functionsReached:
    - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:105,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:106,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:108,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:110,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:117,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:118,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:119,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:120,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:121,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:122,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:123,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:125,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:126,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:127,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:128,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:129,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:132,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:133,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:134,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:136,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:137,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:140,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:143,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 146
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:149,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:150,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:151,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:152,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:154,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:160,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMethodMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:167,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:168,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:169,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:170,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:171,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:172,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:173,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:174,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:175,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:176,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:178,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:179,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:180,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:181,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:182,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:183,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:184,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:185,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:195,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:196,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:202,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:203,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:218,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:230,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:241,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 247
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:250,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::path_matcher::HexDigit
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:278,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:279,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:281,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:286,1
    - Dst: espv2::api_proxy::path_matcher::HexDigit
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:287,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - espv2::api_proxy::path_matcher::HexDigit
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - std::string
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:300,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:301,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:306,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:314,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:315,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:317,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 325
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:328,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:329,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:331,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:334,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:335,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 345
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, OnlyUnreservedCharsAreUnescapedForMultiSegmentMatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:348,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:349,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:350,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:351,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:352,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:353,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:354,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:356,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:357,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:358,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:359,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:360,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:361,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:364,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:368,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:369,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:374,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:377,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:378,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:381,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:382,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:385,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableVariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:391,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:392,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:393,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:394,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:395,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:396,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:397,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:398,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:399,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:400,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:401,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:402,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:404,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:405,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:406,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:407,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:408,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:409,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:410,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:411,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:412,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:413,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:417,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:418,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:423,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:426,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:427,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:430,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:431,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:434,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:435,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:436,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:454,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:459,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:460,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:465,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    - Dst: VariableBindings
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 470
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - VariableBindings
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:473,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:474,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:475,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:478,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 482
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:485,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:486,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:487,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:488,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:489,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:490,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:492,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:493,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:494,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:495,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:496,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:499,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:500,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:501,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:502,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:503,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:504,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 506
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:510,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 512
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:515,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:516,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 520
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:523,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:524,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:533,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:534,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:535,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:536,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:538,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:539,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:542,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:543,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:544,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:547,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:548,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 550
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:553,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:558,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:559,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:560,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:561,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:562,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:563,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:565,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:566,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:567,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:568,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:569,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:571,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:572,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:573,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:578,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 582
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:586,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:587,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:589,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:590,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 594
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:597,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:598,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:600,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 606
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, AllowDuplicate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:609,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:610,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:611,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: AddPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:612,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:613,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:617,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:619,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 621
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Lookup
    - AddPath
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DuplicatedOptions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:627,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:628,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:629,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:634,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 637
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:640,1
    - Dst: Build
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:641,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:642,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:643,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    - Dst: Lookup
      Src: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 645
    functionName: espv2::api_proxy::path_matcher::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - AddGetPath
    - Build
    - Lookup
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& get() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::api_proxy::utils::Version::set
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(const std::string& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: espv2::api_proxy::utils::Version::Version
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Version(const std::string& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& get() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::api_proxy::utils::Version::set
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(const std::string& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: espv2::api_proxy::utils::Version::Version
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Version(const std::string& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& get() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::api_proxy::utils::Version::set
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(const std::string& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: espv2::api_proxy::utils::Version::Version
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Version(const std::string& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& get() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::api_proxy::utils::Version::set
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(const std::string& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: espv2::api_proxy::utils::Version::Version
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Version(const std::string& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& get() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::api_proxy::utils::Version::set
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(const std::string& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: espv2::api_proxy::utils::Version::Version
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Version(const std::string& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& get() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::api_proxy::utils::Version::set
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(const std::string& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: espv2::api_proxy::utils::Version::Version
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Version(const std::string& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& get() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::api_proxy::utils::Version::set
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(const std::string& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: espv2::api_proxy::utils::Version::Version
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Version(const std::string& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: '& get() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & get() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::api_proxy::utils::Version::set
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set(const std::string& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' v'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: espv2::api_proxy::utils::Version::Version
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Version(const std::string& v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: '& Version::instance()'
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Version
    signature: Version & Version::instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: '& Version::instance()'
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Version
    signature: Version & Version::instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: '& Version::instance()'
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Version
    signature: Version & Version::instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: '& Version::instance()'
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Version
    signature: Version & Version::instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: '& Version::instance()'
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Version
    signature: Version & Version::instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: '& Version::instance()'
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Version
    signature: Version & Version::instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: '& Version::instance()'
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Version
    signature: Version & Version::instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: '& Version::instance()'
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Version
    signature: Version & Version::instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:23,1
    - Dst: Version::instance
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: espv2::api_proxy::utils::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - Version::instance
    linkageType: ''
    returnType: void
    signature: void TEST(VersionTest, DefaultIsNonEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Version::instance
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:27,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:29,1
    - Dst: Version::instance
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: espv2::api_proxy::utils::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Version::instance
    linkageType: ''
    returnType: void
    signature: void TEST(VerstionTest, SetVersionIsReturned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:23,1
    - Dst: Version::instance
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: espv2::api_proxy::utils::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - Version::instance
    linkageType: ''
    returnType: void
    signature: void TEST(VersionTest, DefaultIsNonEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Version::instance
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:27,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:29,1
    - Dst: Version::instance
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: espv2::api_proxy::utils::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Version::instance
    linkageType: ''
    returnType: void
    signature: void TEST(VerstionTest, SetVersionIsReturned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:23,1
    - Dst: Version::instance
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: espv2::api_proxy::utils::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - Version::instance
    linkageType: ''
    returnType: void
    signature: void TEST(VersionTest, DefaultIsNonEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Version::instance
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:27,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:29,1
    - Dst: Version::instance
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: espv2::api_proxy::utils::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Version::instance
    linkageType: ''
    returnType: void
    signature: void TEST(VerstionTest, SetVersionIsReturned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:23,1
    - Dst: Version::instance
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: espv2::api_proxy::utils::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - Version::instance
    linkageType: ''
    returnType: void
    signature: void TEST(VersionTest, DefaultIsNonEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Version::instance
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:27,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:29,1
    - Dst: Version::instance
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: espv2::api_proxy::utils::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Version::instance
    linkageType: ''
    returnType: void
    signature: void TEST(VerstionTest, SetVersionIsReturned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:23,1
    - Dst: Version::instance
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: espv2::api_proxy::utils::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - Version::instance
    linkageType: ''
    returnType: void
    signature: void TEST(VersionTest, DefaultIsNonEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Version::instance
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:27,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:29,1
    - Dst: Version::instance
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: espv2::api_proxy::utils::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Version::instance
    linkageType: ''
    returnType: void
    signature: void TEST(VerstionTest, SetVersionIsReturned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:23,1
    - Dst: Version::instance
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: espv2::api_proxy::utils::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - Version::instance
    linkageType: ''
    returnType: void
    signature: void TEST(VersionTest, DefaultIsNonEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Version::instance
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:27,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:29,1
    - Dst: Version::instance
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: espv2::api_proxy::utils::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Version::instance
    linkageType: ''
    returnType: void
    signature: void TEST(VerstionTest, SetVersionIsReturned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:23,1
    - Dst: Version::instance
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: espv2::api_proxy::utils::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - Version::instance
    linkageType: ''
    returnType: void
    signature: void TEST(VersionTest, DefaultIsNonEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Version::instance
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:27,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:29,1
    - Dst: Version::instance
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: espv2::api_proxy::utils::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Version::instance
    linkageType: ''
    returnType: void
    signature: void TEST(VerstionTest, SetVersionIsReturned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:23,1
    - Dst: Version::instance
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:23,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: espv2::api_proxy::utils::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - Version::instance
    linkageType: ''
    returnType: void
    signature: void TEST(VersionTest, DefaultIsNonEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Version::instance
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:27,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:29,1
    - Dst: Version::instance
      Src: /src/esp-v2/src/api_proxy/utils/version_test.cc:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: espv2::api_proxy::utils::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/utils/version_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Version::instance
    linkageType: ''
    returnType: void
    signature: void TEST(VerstionTest, SetVersionIsReturned)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:48,1
    - Dst: std::ifstream::open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::is_open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:55,1
    - Dst: std::string::reserve
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::tellg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:57,1
    - Dst: std::string::assign
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:59,1
    - Dst: std::string::find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:65,1
    - Dst: std::string::replace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: std::string::length
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: strlen
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input_file_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: espv2::api_proxy::service_control::ReadTestBaseline
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::string::length
    - std::string::assign
    - std::string::reserve
    - EXPECT_TRUE
    - absl::StrCat
    - strlen
    - std::string::replace
    - std::string::find
    - std::ifstream::is_open
    - std::istreambuf_iterator<char>
    - std::ifstream::tellg
    - std::ifstream::open
    - std::ifstream::seekg
    linkageType: ''
    returnType: std::string
    signature: std::string ReadTestBaseline(const std::string& input_file_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: espv2::api_proxy::service_control::FillCheckRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestAndroidInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - QuotaRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillAllocateQuotaRequestInfo(QuotaRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - request
    argTypes:
    - ReportRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::FillReportRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillReportRequestInfo(ReportRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::CheckRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::CheckRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string CheckRequestToString(gasv1::CheckRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::AllocateQuotaRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: espv2::api_proxy::service_control::AllocateQuotaRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string AllocateQuotaRequestToString(gasv1::AllocateQuotaRequest*
      request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::ReportRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: espv2::api_proxy::service_control::ReportRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string ReportRequestToString(gasv1::ReportRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::microseconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::chrono::microseconds
    linkageType: ''
    returnType: void
    signature: void RequestBuilderTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - op
    argTypes:
    - OperationInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillOperationInfo(OperationInfo* op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::Struct::mutable_fields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:156,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:157,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    - Dst: auto*::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto*::empty
    - ::google::protobuf::Struct::mutable_fields
    - set_string_value
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RequestBuilder, TestRequestBuilderbufStruct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:163,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:164,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:169,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:176,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:177,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:178,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:185,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestAndroidIosTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:195,1
    - Dst: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:196,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:201,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:202,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodAllocateQuotaRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:219,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 223
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillAllocateQuotaRequestNoMethodNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:235,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:237,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillNoApiKeyCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:246,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:255,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationIdTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:261,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:262,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:270,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:271,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:277,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:287,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 290
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestWithTracingProjectId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:294,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:295,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:302,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 306
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestByConsumerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:310,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:311,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:321,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:326,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 329
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - Status
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:333,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:334,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:346,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedByGrpcBackendTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:354,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:355,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:366,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:376,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:381,1
    - Dst: absl::StrReplaceAll
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:382,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrReplaceAll
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - Status
    - espv2::api_proxy::service_control::api_key::ToString
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportWithUntrustedApiKeyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:392,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:399,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 403
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestEmptyOptionalTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:407,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:423,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:424,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 427
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:431,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:449,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:450,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:457,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:477,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:478,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDUnknownTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:485,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:503,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:504,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 507
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedNotReportApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:512,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:529,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:530,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 534
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - ASSERT_FALSE
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyNotVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:538,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 547
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerOnlyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:551,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 561
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerAudienceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:48,1
    - Dst: std::ifstream::open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::is_open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:55,1
    - Dst: std::string::reserve
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::tellg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:57,1
    - Dst: std::string::assign
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:59,1
    - Dst: std::string::find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:65,1
    - Dst: std::string::replace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: std::string::length
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: strlen
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input_file_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: espv2::api_proxy::service_control::ReadTestBaseline
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 12
    functionsReached:
    - std::string::length
    - std::string::assign
    - std::string::reserve
    - EXPECT_TRUE
    - absl::StrCat
    - strlen
    - std::string::replace
    - std::string::find
    - std::ifstream::is_open
    - std::istreambuf_iterator<char>
    - std::ifstream::tellg
    - std::ifstream::open
    - std::ifstream::seekg
    linkageType: ''
    returnType: std::string
    signature: std::string ReadTestBaseline(const std::string& input_file_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: espv2::api_proxy::service_control::FillCheckRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestAndroidInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - QuotaRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillAllocateQuotaRequestInfo(QuotaRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - request
    argTypes:
    - ReportRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::FillReportRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillReportRequestInfo(ReportRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::CheckRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::CheckRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 3
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string CheckRequestToString(gasv1::CheckRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::AllocateQuotaRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: espv2::api_proxy::service_control::AllocateQuotaRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 2
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string AllocateQuotaRequestToString(gasv1::AllocateQuotaRequest*
      request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::ReportRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: espv2::api_proxy::service_control::ReportRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 7
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string ReportRequestToString(gasv1::ReportRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::microseconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::chrono::microseconds
    linkageType: ''
    returnType: void
    signature: void RequestBuilderTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - op
    argTypes:
    - OperationInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillOperationInfo(OperationInfo* op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::Struct::mutable_fields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:156,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:157,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    - Dst: auto*::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto*::empty
    - ::google::protobuf::Struct::mutable_fields
    - set_string_value
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RequestBuilder, TestRequestBuilderbufStruct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:163,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:164,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:169,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:176,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:177,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:178,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:185,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestAndroidIosTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:195,1
    - Dst: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:196,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:201,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:202,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodAllocateQuotaRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:219,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 223
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillAllocateQuotaRequestNoMethodNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:235,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:237,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillNoApiKeyCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:246,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:255,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationIdTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:261,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:262,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:270,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:271,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:277,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:287,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 290
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestWithTracingProjectId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:294,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:295,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:302,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 306
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestByConsumerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:310,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:311,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:321,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:326,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 329
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - Status
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:333,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:334,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:346,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedByGrpcBackendTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:354,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:355,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:366,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:376,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:381,1
    - Dst: absl::StrReplaceAll
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:382,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrReplaceAll
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - Status
    - espv2::api_proxy::service_control::api_key::ToString
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportWithUntrustedApiKeyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:392,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:399,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 403
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestEmptyOptionalTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:407,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:423,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:424,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 427
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:431,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:449,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:450,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:457,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:477,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:478,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDUnknownTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:485,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:503,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:504,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 507
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedNotReportApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:512,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:529,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:530,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 534
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - ASSERT_FALSE
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyNotVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:538,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 547
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerOnlyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:551,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 561
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerAudienceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:48,1
    - Dst: std::ifstream::open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::is_open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:55,1
    - Dst: std::string::reserve
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::tellg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:57,1
    - Dst: std::string::assign
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:59,1
    - Dst: std::string::find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:65,1
    - Dst: std::string::replace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: std::string::length
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: strlen
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input_file_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: espv2::api_proxy::service_control::ReadTestBaseline
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 24
    functionsReached:
    - std::string::length
    - std::string::assign
    - std::string::reserve
    - EXPECT_TRUE
    - absl::StrCat
    - strlen
    - std::string::replace
    - std::string::find
    - std::ifstream::is_open
    - std::istreambuf_iterator<char>
    - std::ifstream::tellg
    - std::ifstream::open
    - std::ifstream::seekg
    linkageType: ''
    returnType: std::string
    signature: std::string ReadTestBaseline(const std::string& input_file_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: espv2::api_proxy::service_control::FillCheckRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestAndroidInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - QuotaRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillAllocateQuotaRequestInfo(QuotaRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - request
    argTypes:
    - ReportRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::FillReportRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillReportRequestInfo(ReportRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::CheckRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::CheckRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string CheckRequestToString(gasv1::CheckRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::AllocateQuotaRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: espv2::api_proxy::service_control::AllocateQuotaRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 4
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string AllocateQuotaRequestToString(gasv1::AllocateQuotaRequest*
      request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::ReportRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: espv2::api_proxy::service_control::ReportRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 14
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string ReportRequestToString(gasv1::ReportRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::microseconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::chrono::microseconds
    linkageType: ''
    returnType: void
    signature: void RequestBuilderTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - op
    argTypes:
    - OperationInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillOperationInfo(OperationInfo* op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::Struct::mutable_fields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:156,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:157,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    - Dst: auto*::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto*::empty
    - ::google::protobuf::Struct::mutable_fields
    - set_string_value
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RequestBuilder, TestRequestBuilderbufStruct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:163,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:164,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:169,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:176,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:177,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:178,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:185,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestAndroidIosTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:195,1
    - Dst: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:196,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:201,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:202,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodAllocateQuotaRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:219,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 223
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillAllocateQuotaRequestNoMethodNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:235,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:237,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillNoApiKeyCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:246,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:255,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationIdTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:261,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:262,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:270,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:271,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:277,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:287,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 290
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestWithTracingProjectId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:294,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:295,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:302,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 306
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestByConsumerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:310,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:311,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:321,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:326,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 329
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - Status
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:333,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:334,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:346,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedByGrpcBackendTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:354,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:355,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:366,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:376,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:381,1
    - Dst: absl::StrReplaceAll
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:382,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrReplaceAll
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - Status
    - espv2::api_proxy::service_control::api_key::ToString
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportWithUntrustedApiKeyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:392,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:399,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 403
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestEmptyOptionalTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:407,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:423,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:424,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 427
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:431,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:449,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:450,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:457,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:477,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:478,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDUnknownTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:485,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:503,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:504,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 507
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedNotReportApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:512,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:529,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:530,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 534
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - ASSERT_FALSE
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyNotVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:538,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 547
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerOnlyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:551,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 561
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerAudienceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:48,1
    - Dst: std::ifstream::open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::is_open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:55,1
    - Dst: std::string::reserve
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::tellg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:57,1
    - Dst: std::string::assign
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:59,1
    - Dst: std::string::find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:65,1
    - Dst: std::string::replace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: std::string::length
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: strlen
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input_file_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: espv2::api_proxy::service_control::ReadTestBaseline
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 36
    functionsReached:
    - std::string::length
    - std::string::assign
    - std::string::reserve
    - EXPECT_TRUE
    - absl::StrCat
    - strlen
    - std::string::replace
    - std::string::find
    - std::ifstream::is_open
    - std::istreambuf_iterator<char>
    - std::ifstream::tellg
    - std::ifstream::open
    - std::ifstream::seekg
    linkageType: ''
    returnType: std::string
    signature: std::string ReadTestBaseline(const std::string& input_file_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: espv2::api_proxy::service_control::FillCheckRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestAndroidInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - QuotaRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillAllocateQuotaRequestInfo(QuotaRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - request
    argTypes:
    - ReportRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::FillReportRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillReportRequestInfo(ReportRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::CheckRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::CheckRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 9
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string CheckRequestToString(gasv1::CheckRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::AllocateQuotaRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: espv2::api_proxy::service_control::AllocateQuotaRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 6
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string AllocateQuotaRequestToString(gasv1::AllocateQuotaRequest*
      request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::ReportRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: espv2::api_proxy::service_control::ReportRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 21
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string ReportRequestToString(gasv1::ReportRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::microseconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::chrono::microseconds
    linkageType: ''
    returnType: void
    signature: void RequestBuilderTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - op
    argTypes:
    - OperationInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillOperationInfo(OperationInfo* op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::Struct::mutable_fields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:156,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:157,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    - Dst: auto*::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto*::empty
    - ::google::protobuf::Struct::mutable_fields
    - set_string_value
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RequestBuilder, TestRequestBuilderbufStruct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:163,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:164,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:169,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:176,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:177,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:178,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:185,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestAndroidIosTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:195,1
    - Dst: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:196,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:201,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:202,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodAllocateQuotaRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:219,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 223
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillAllocateQuotaRequestNoMethodNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:235,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:237,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillNoApiKeyCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:246,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:255,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationIdTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:261,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:262,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:270,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:271,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:277,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:287,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 290
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestWithTracingProjectId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:294,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:295,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:302,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 306
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestByConsumerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:310,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:311,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:321,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:326,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 329
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - Status
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:333,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:334,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:346,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedByGrpcBackendTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:354,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:355,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:366,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:376,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:381,1
    - Dst: absl::StrReplaceAll
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:382,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrReplaceAll
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - Status
    - espv2::api_proxy::service_control::api_key::ToString
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportWithUntrustedApiKeyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:392,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:399,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 403
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestEmptyOptionalTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:407,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:423,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:424,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 427
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:431,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:449,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:450,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:457,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:477,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:478,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDUnknownTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:485,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:503,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:504,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 507
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedNotReportApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:512,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:529,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:530,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 534
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - ASSERT_FALSE
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyNotVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:538,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 547
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerOnlyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:551,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 561
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerAudienceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:48,1
    - Dst: std::ifstream::open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::is_open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:55,1
    - Dst: std::string::reserve
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::tellg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:57,1
    - Dst: std::string::assign
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:59,1
    - Dst: std::string::find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:65,1
    - Dst: std::string::replace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: std::string::length
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: strlen
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input_file_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: espv2::api_proxy::service_control::ReadTestBaseline
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 48
    functionsReached:
    - std::string::length
    - std::string::assign
    - std::string::reserve
    - EXPECT_TRUE
    - absl::StrCat
    - strlen
    - std::string::replace
    - std::string::find
    - std::ifstream::is_open
    - std::istreambuf_iterator<char>
    - std::ifstream::tellg
    - std::ifstream::open
    - std::ifstream::seekg
    linkageType: ''
    returnType: std::string
    signature: std::string ReadTestBaseline(const std::string& input_file_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: espv2::api_proxy::service_control::FillCheckRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestAndroidInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - QuotaRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillAllocateQuotaRequestInfo(QuotaRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - request
    argTypes:
    - ReportRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::FillReportRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillReportRequestInfo(ReportRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::CheckRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::CheckRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string CheckRequestToString(gasv1::CheckRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::AllocateQuotaRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: espv2::api_proxy::service_control::AllocateQuotaRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 8
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string AllocateQuotaRequestToString(gasv1::AllocateQuotaRequest*
      request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::ReportRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: espv2::api_proxy::service_control::ReportRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 28
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string ReportRequestToString(gasv1::ReportRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::microseconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::chrono::microseconds
    linkageType: ''
    returnType: void
    signature: void RequestBuilderTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - op
    argTypes:
    - OperationInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillOperationInfo(OperationInfo* op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::Struct::mutable_fields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:156,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:157,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    - Dst: auto*::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto*::empty
    - ::google::protobuf::Struct::mutable_fields
    - set_string_value
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RequestBuilder, TestRequestBuilderbufStruct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:163,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:164,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:169,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:176,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:177,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:178,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:185,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestAndroidIosTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:195,1
    - Dst: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:196,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:201,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:202,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodAllocateQuotaRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:219,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 223
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillAllocateQuotaRequestNoMethodNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:235,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:237,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillNoApiKeyCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:246,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:255,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationIdTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:261,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:262,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:270,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:271,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:277,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:287,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 290
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestWithTracingProjectId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:294,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:295,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:302,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 306
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestByConsumerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:310,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:311,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:321,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:326,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 329
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - Status
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:333,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:334,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:346,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedByGrpcBackendTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:354,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:355,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:366,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:376,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:381,1
    - Dst: absl::StrReplaceAll
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:382,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrReplaceAll
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - Status
    - espv2::api_proxy::service_control::api_key::ToString
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportWithUntrustedApiKeyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:392,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:399,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 403
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestEmptyOptionalTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:407,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:423,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:424,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 427
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:431,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:449,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:450,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:457,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:477,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:478,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDUnknownTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:485,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:503,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:504,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 507
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedNotReportApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:512,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:529,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:530,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 534
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - ASSERT_FALSE
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyNotVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:538,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 547
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerOnlyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:551,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 561
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerAudienceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:48,1
    - Dst: std::ifstream::open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::is_open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:55,1
    - Dst: std::string::reserve
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::tellg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:57,1
    - Dst: std::string::assign
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:59,1
    - Dst: std::string::find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:65,1
    - Dst: std::string::replace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: std::string::length
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: strlen
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input_file_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: espv2::api_proxy::service_control::ReadTestBaseline
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 60
    functionsReached:
    - std::string::length
    - std::string::assign
    - std::string::reserve
    - EXPECT_TRUE
    - absl::StrCat
    - strlen
    - std::string::replace
    - std::string::find
    - std::ifstream::is_open
    - std::istreambuf_iterator<char>
    - std::ifstream::tellg
    - std::ifstream::open
    - std::ifstream::seekg
    linkageType: ''
    returnType: std::string
    signature: std::string ReadTestBaseline(const std::string& input_file_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: espv2::api_proxy::service_control::FillCheckRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestAndroidInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - QuotaRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillAllocateQuotaRequestInfo(QuotaRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - request
    argTypes:
    - ReportRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::FillReportRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillReportRequestInfo(ReportRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::CheckRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::CheckRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 15
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string CheckRequestToString(gasv1::CheckRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::AllocateQuotaRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: espv2::api_proxy::service_control::AllocateQuotaRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 10
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string AllocateQuotaRequestToString(gasv1::AllocateQuotaRequest*
      request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::ReportRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: espv2::api_proxy::service_control::ReportRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 35
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string ReportRequestToString(gasv1::ReportRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::microseconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::chrono::microseconds
    linkageType: ''
    returnType: void
    signature: void RequestBuilderTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - op
    argTypes:
    - OperationInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillOperationInfo(OperationInfo* op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::Struct::mutable_fields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:156,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:157,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    - Dst: auto*::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto*::empty
    - ::google::protobuf::Struct::mutable_fields
    - set_string_value
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RequestBuilder, TestRequestBuilderbufStruct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:163,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:164,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:169,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:176,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:177,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:178,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:185,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestAndroidIosTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:195,1
    - Dst: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:196,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:201,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:202,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodAllocateQuotaRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:219,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 223
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillAllocateQuotaRequestNoMethodNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:235,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:237,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillNoApiKeyCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:246,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:255,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationIdTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:261,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:262,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:270,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:271,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:277,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:287,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 290
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestWithTracingProjectId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:294,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:295,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:302,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 306
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestByConsumerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:310,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:311,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:321,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:326,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 329
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - Status
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:333,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:334,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:346,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedByGrpcBackendTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:354,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:355,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:366,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:376,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:381,1
    - Dst: absl::StrReplaceAll
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:382,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrReplaceAll
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - Status
    - espv2::api_proxy::service_control::api_key::ToString
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportWithUntrustedApiKeyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:392,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:399,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 403
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestEmptyOptionalTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:407,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:423,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:424,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 427
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:431,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:449,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:450,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:457,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:477,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:478,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDUnknownTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:485,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:503,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:504,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 507
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedNotReportApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:512,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:529,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:530,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 534
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - ASSERT_FALSE
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyNotVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:538,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 547
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerOnlyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:551,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 561
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerAudienceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:48,1
    - Dst: std::ifstream::open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::is_open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:55,1
    - Dst: std::string::reserve
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::tellg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:57,1
    - Dst: std::string::assign
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:59,1
    - Dst: std::string::find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:65,1
    - Dst: std::string::replace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: std::string::length
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: strlen
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input_file_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: espv2::api_proxy::service_control::ReadTestBaseline
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 72
    functionsReached:
    - std::string::length
    - std::string::assign
    - std::string::reserve
    - EXPECT_TRUE
    - absl::StrCat
    - strlen
    - std::string::replace
    - std::string::find
    - std::ifstream::is_open
    - std::istreambuf_iterator<char>
    - std::ifstream::tellg
    - std::ifstream::open
    - std::ifstream::seekg
    linkageType: ''
    returnType: std::string
    signature: std::string ReadTestBaseline(const std::string& input_file_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: espv2::api_proxy::service_control::FillCheckRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestAndroidInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - QuotaRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillAllocateQuotaRequestInfo(QuotaRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - request
    argTypes:
    - ReportRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::FillReportRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillReportRequestInfo(ReportRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::CheckRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::CheckRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 18
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string CheckRequestToString(gasv1::CheckRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::AllocateQuotaRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: espv2::api_proxy::service_control::AllocateQuotaRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 12
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string AllocateQuotaRequestToString(gasv1::AllocateQuotaRequest*
      request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::ReportRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: espv2::api_proxy::service_control::ReportRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 42
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string ReportRequestToString(gasv1::ReportRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::microseconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::chrono::microseconds
    linkageType: ''
    returnType: void
    signature: void RequestBuilderTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - op
    argTypes:
    - OperationInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillOperationInfo(OperationInfo* op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::Struct::mutable_fields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:156,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:157,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    - Dst: auto*::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto*::empty
    - ::google::protobuf::Struct::mutable_fields
    - set_string_value
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RequestBuilder, TestRequestBuilderbufStruct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:163,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:164,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:169,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:176,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:177,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:178,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:185,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestAndroidIosTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:195,1
    - Dst: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:196,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:201,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:202,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodAllocateQuotaRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:219,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 223
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillAllocateQuotaRequestNoMethodNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:235,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:237,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillNoApiKeyCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:246,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:255,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationIdTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:261,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:262,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:270,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:271,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:277,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:287,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 290
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestWithTracingProjectId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:294,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:295,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:302,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 306
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestByConsumerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:310,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:311,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:321,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:326,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 329
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - Status
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:333,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:334,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:346,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedByGrpcBackendTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:354,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:355,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:366,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:376,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:381,1
    - Dst: absl::StrReplaceAll
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:382,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrReplaceAll
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - Status
    - espv2::api_proxy::service_control::api_key::ToString
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportWithUntrustedApiKeyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:392,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:399,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 403
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestEmptyOptionalTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:407,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:423,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:424,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 427
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:431,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:449,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:450,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:457,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:477,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:478,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDUnknownTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:485,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:503,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:504,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 507
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedNotReportApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:512,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:529,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:530,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 534
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - ASSERT_FALSE
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyNotVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:538,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 547
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerOnlyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:551,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 561
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerAudienceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:48,1
    - Dst: std::ifstream::open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::is_open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:55,1
    - Dst: std::string::reserve
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::tellg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:57,1
    - Dst: std::string::assign
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:59,1
    - Dst: std::string::find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:65,1
    - Dst: std::string::replace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: std::string::length
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: strlen
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input_file_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: espv2::api_proxy::service_control::ReadTestBaseline
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 84
    functionsReached:
    - std::string::length
    - std::string::assign
    - std::string::reserve
    - EXPECT_TRUE
    - absl::StrCat
    - strlen
    - std::string::replace
    - std::string::find
    - std::ifstream::is_open
    - std::istreambuf_iterator<char>
    - std::ifstream::tellg
    - std::ifstream::open
    - std::ifstream::seekg
    linkageType: ''
    returnType: std::string
    signature: std::string ReadTestBaseline(const std::string& input_file_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: espv2::api_proxy::service_control::FillCheckRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestAndroidInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - QuotaRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillAllocateQuotaRequestInfo(QuotaRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - request
    argTypes:
    - ReportRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::FillReportRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillReportRequestInfo(ReportRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::CheckRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::CheckRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 21
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string CheckRequestToString(gasv1::CheckRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::AllocateQuotaRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: espv2::api_proxy::service_control::AllocateQuotaRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 14
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string AllocateQuotaRequestToString(gasv1::AllocateQuotaRequest*
      request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::ReportRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: espv2::api_proxy::service_control::ReportRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 49
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string ReportRequestToString(gasv1::ReportRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::microseconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::chrono::microseconds
    linkageType: ''
    returnType: void
    signature: void RequestBuilderTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - op
    argTypes:
    - OperationInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillOperationInfo(OperationInfo* op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::Struct::mutable_fields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:156,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:157,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    - Dst: auto*::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto*::empty
    - ::google::protobuf::Struct::mutable_fields
    - set_string_value
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RequestBuilder, TestRequestBuilderbufStruct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:163,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:164,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:169,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:176,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:177,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:178,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:185,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestAndroidIosTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:195,1
    - Dst: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:196,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:201,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:202,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodAllocateQuotaRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:219,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 223
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillAllocateQuotaRequestNoMethodNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:235,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:237,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillNoApiKeyCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:246,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:255,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationIdTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:261,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:262,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:270,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:271,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:277,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:287,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 290
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestWithTracingProjectId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:294,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:295,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:302,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 306
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestByConsumerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:310,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:311,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:321,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:326,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 329
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - Status
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:333,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:334,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:346,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedByGrpcBackendTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:354,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:355,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:366,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:376,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:381,1
    - Dst: absl::StrReplaceAll
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:382,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrReplaceAll
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - Status
    - espv2::api_proxy::service_control::api_key::ToString
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportWithUntrustedApiKeyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:392,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:399,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 403
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestEmptyOptionalTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:407,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:423,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:424,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 427
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:431,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:449,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:450,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:457,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:477,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:478,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDUnknownTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:485,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:503,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:504,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 507
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedNotReportApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:512,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:529,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:530,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 534
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - ASSERT_FALSE
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyNotVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:538,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 547
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerOnlyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:551,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 561
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerAudienceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:48,1
    - Dst: std::ifstream::open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::is_open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:55,1
    - Dst: std::string::reserve
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::tellg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:57,1
    - Dst: std::string::assign
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:59,1
    - Dst: std::string::find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:65,1
    - Dst: std::string::replace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: std::string::length
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: strlen
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input_file_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: espv2::api_proxy::service_control::ReadTestBaseline
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 96
    functionsReached:
    - std::string::length
    - std::string::assign
    - std::string::reserve
    - EXPECT_TRUE
    - absl::StrCat
    - strlen
    - std::string::replace
    - std::string::find
    - std::ifstream::is_open
    - std::istreambuf_iterator<char>
    - std::ifstream::tellg
    - std::ifstream::open
    - std::ifstream::seekg
    linkageType: ''
    returnType: std::string
    signature: std::string ReadTestBaseline(const std::string& input_file_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: espv2::api_proxy::service_control::FillCheckRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestAndroidInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - QuotaRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillAllocateQuotaRequestInfo(QuotaRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - request
    argTypes:
    - ReportRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::FillReportRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillReportRequestInfo(ReportRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::CheckRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::CheckRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 24
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string CheckRequestToString(gasv1::CheckRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::AllocateQuotaRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: espv2::api_proxy::service_control::AllocateQuotaRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 16
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string AllocateQuotaRequestToString(gasv1::AllocateQuotaRequest*
      request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::ReportRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: espv2::api_proxy::service_control::ReportRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 56
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string ReportRequestToString(gasv1::ReportRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::microseconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::chrono::microseconds
    linkageType: ''
    returnType: void
    signature: void RequestBuilderTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - op
    argTypes:
    - OperationInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillOperationInfo(OperationInfo* op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::Struct::mutable_fields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:156,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:157,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    - Dst: auto*::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto*::empty
    - ::google::protobuf::Struct::mutable_fields
    - set_string_value
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RequestBuilder, TestRequestBuilderbufStruct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:163,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:164,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:169,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:176,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:177,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:178,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:185,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestAndroidIosTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:195,1
    - Dst: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:196,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:201,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:202,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodAllocateQuotaRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:219,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 223
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillAllocateQuotaRequestNoMethodNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:235,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:237,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillNoApiKeyCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:246,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:255,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationIdTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:261,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:262,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:270,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:271,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:277,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:287,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 290
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestWithTracingProjectId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:294,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:295,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:302,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 306
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestByConsumerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:310,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:311,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:321,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:326,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 329
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - Status
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:333,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:334,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:346,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedByGrpcBackendTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:354,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:355,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:366,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:376,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:381,1
    - Dst: absl::StrReplaceAll
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:382,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrReplaceAll
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - Status
    - espv2::api_proxy::service_control::api_key::ToString
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportWithUntrustedApiKeyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:392,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:399,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 403
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestEmptyOptionalTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:407,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:423,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:424,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 427
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:431,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:449,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:450,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:457,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:477,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:478,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDUnknownTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:485,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:503,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:504,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 507
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedNotReportApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:512,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:529,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:530,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 534
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - ASSERT_FALSE
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyNotVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:538,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 547
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerOnlyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:551,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 561
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerAudienceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:48,1
    - Dst: std::ifstream::open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::is_open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:55,1
    - Dst: std::string::reserve
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::tellg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:57,1
    - Dst: std::string::assign
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:59,1
    - Dst: std::string::find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:65,1
    - Dst: std::string::replace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: std::string::length
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: strlen
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input_file_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: espv2::api_proxy::service_control::ReadTestBaseline
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 108
    functionsReached:
    - std::string::length
    - std::string::assign
    - std::string::reserve
    - EXPECT_TRUE
    - absl::StrCat
    - strlen
    - std::string::replace
    - std::string::find
    - std::ifstream::is_open
    - std::istreambuf_iterator<char>
    - std::ifstream::tellg
    - std::ifstream::open
    - std::ifstream::seekg
    linkageType: ''
    returnType: std::string
    signature: std::string ReadTestBaseline(const std::string& input_file_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: espv2::api_proxy::service_control::FillCheckRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestAndroidInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - QuotaRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillAllocateQuotaRequestInfo(QuotaRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - request
    argTypes:
    - ReportRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::FillReportRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillReportRequestInfo(ReportRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::CheckRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::CheckRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 27
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string CheckRequestToString(gasv1::CheckRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::AllocateQuotaRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: espv2::api_proxy::service_control::AllocateQuotaRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 18
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string AllocateQuotaRequestToString(gasv1::AllocateQuotaRequest*
      request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::ReportRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: espv2::api_proxy::service_control::ReportRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 63
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string ReportRequestToString(gasv1::ReportRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::microseconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::chrono::microseconds
    linkageType: ''
    returnType: void
    signature: void RequestBuilderTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - op
    argTypes:
    - OperationInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillOperationInfo(OperationInfo* op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::Struct::mutable_fields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:156,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:157,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    - Dst: auto*::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto*::empty
    - ::google::protobuf::Struct::mutable_fields
    - set_string_value
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RequestBuilder, TestRequestBuilderbufStruct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:163,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:164,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:169,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:176,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:177,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:178,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:185,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestAndroidIosTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:195,1
    - Dst: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:196,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:201,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:202,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodAllocateQuotaRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:219,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 223
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillAllocateQuotaRequestNoMethodNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:235,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:237,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillNoApiKeyCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:246,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:255,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationIdTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:261,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:262,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:270,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:271,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:277,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:287,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 290
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestWithTracingProjectId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:294,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:295,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:302,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 306
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestByConsumerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:310,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:311,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:321,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:326,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 329
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - Status
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:333,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:334,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:346,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedByGrpcBackendTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:354,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:355,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:366,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:376,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:381,1
    - Dst: absl::StrReplaceAll
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:382,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrReplaceAll
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - Status
    - espv2::api_proxy::service_control::api_key::ToString
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportWithUntrustedApiKeyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:392,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:399,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 403
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestEmptyOptionalTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:407,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:423,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:424,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 427
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:431,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:449,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:450,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:457,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:477,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:478,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDUnknownTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:485,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:503,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:504,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 507
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedNotReportApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:512,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:529,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:530,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 534
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - ASSERT_FALSE
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyNotVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:538,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 547
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerOnlyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:551,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 561
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerAudienceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:48,1
    - Dst: std::ifstream::open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::is_open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:55,1
    - Dst: std::string::reserve
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::tellg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:57,1
    - Dst: std::string::assign
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:59,1
    - Dst: std::string::find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:65,1
    - Dst: std::string::replace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: std::string::length
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: strlen
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input_file_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: espv2::api_proxy::service_control::ReadTestBaseline
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 120
    functionsReached:
    - std::string::length
    - std::string::assign
    - std::string::reserve
    - EXPECT_TRUE
    - absl::StrCat
    - strlen
    - std::string::replace
    - std::string::find
    - std::ifstream::is_open
    - std::istreambuf_iterator<char>
    - std::ifstream::tellg
    - std::ifstream::open
    - std::ifstream::seekg
    linkageType: ''
    returnType: std::string
    signature: std::string ReadTestBaseline(const std::string& input_file_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: espv2::api_proxy::service_control::FillCheckRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestAndroidInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - QuotaRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillAllocateQuotaRequestInfo(QuotaRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - request
    argTypes:
    - ReportRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::FillReportRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 60
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillReportRequestInfo(ReportRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::CheckRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::CheckRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 30
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string CheckRequestToString(gasv1::CheckRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::AllocateQuotaRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: espv2::api_proxy::service_control::AllocateQuotaRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 20
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string AllocateQuotaRequestToString(gasv1::AllocateQuotaRequest*
      request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::ReportRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: espv2::api_proxy::service_control::ReportRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 70
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string ReportRequestToString(gasv1::ReportRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::microseconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::chrono::microseconds
    linkageType: ''
    returnType: void
    signature: void RequestBuilderTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - op
    argTypes:
    - OperationInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillOperationInfo(OperationInfo* op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::Struct::mutable_fields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:156,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:157,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    - Dst: auto*::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto*::empty
    - ::google::protobuf::Struct::mutable_fields
    - set_string_value
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RequestBuilder, TestRequestBuilderbufStruct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:163,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:164,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:169,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:176,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:177,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:178,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:185,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestAndroidIosTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:195,1
    - Dst: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:196,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:201,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:202,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodAllocateQuotaRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:219,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 223
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillAllocateQuotaRequestNoMethodNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:235,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:237,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillNoApiKeyCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:246,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:255,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationIdTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:261,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:262,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:270,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:271,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:277,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:287,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 290
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestWithTracingProjectId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:294,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:295,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:302,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 306
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestByConsumerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:310,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:311,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:321,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:326,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 329
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - Status
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:333,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:334,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:346,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedByGrpcBackendTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:354,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:355,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:366,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:376,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:381,1
    - Dst: absl::StrReplaceAll
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:382,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrReplaceAll
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - Status
    - espv2::api_proxy::service_control::api_key::ToString
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportWithUntrustedApiKeyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:392,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:399,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 403
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestEmptyOptionalTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:407,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:423,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:424,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 427
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:431,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:449,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:450,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:457,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:477,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:478,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDUnknownTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:485,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:503,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:504,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 507
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedNotReportApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:512,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:529,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:530,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 534
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - ASSERT_FALSE
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyNotVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:538,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 547
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerOnlyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:551,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 561
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerAudienceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:48,1
    - Dst: std::ifstream::open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::is_open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:55,1
    - Dst: std::string::reserve
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::tellg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:57,1
    - Dst: std::string::assign
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:59,1
    - Dst: std::string::find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:65,1
    - Dst: std::string::replace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: std::string::length
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: strlen
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input_file_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: espv2::api_proxy::service_control::ReadTestBaseline
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 132
    functionsReached:
    - std::string::length
    - std::string::assign
    - std::string::reserve
    - EXPECT_TRUE
    - absl::StrCat
    - strlen
    - std::string::replace
    - std::string::find
    - std::ifstream::is_open
    - std::istreambuf_iterator<char>
    - std::ifstream::tellg
    - std::ifstream::open
    - std::ifstream::seekg
    linkageType: ''
    returnType: std::string
    signature: std::string ReadTestBaseline(const std::string& input_file_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: espv2::api_proxy::service_control::FillCheckRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestAndroidInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - QuotaRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillAllocateQuotaRequestInfo(QuotaRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - request
    argTypes:
    - ReportRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::FillReportRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillReportRequestInfo(ReportRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::CheckRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::CheckRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 33
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string CheckRequestToString(gasv1::CheckRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::AllocateQuotaRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: espv2::api_proxy::service_control::AllocateQuotaRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 22
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string AllocateQuotaRequestToString(gasv1::AllocateQuotaRequest*
      request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::ReportRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: espv2::api_proxy::service_control::ReportRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 77
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string ReportRequestToString(gasv1::ReportRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::microseconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::chrono::microseconds
    linkageType: ''
    returnType: void
    signature: void RequestBuilderTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - op
    argTypes:
    - OperationInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillOperationInfo(OperationInfo* op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::Struct::mutable_fields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:156,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:157,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    - Dst: auto*::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto*::empty
    - ::google::protobuf::Struct::mutable_fields
    - set_string_value
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RequestBuilder, TestRequestBuilderbufStruct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:163,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:164,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:169,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:176,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:177,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:178,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:185,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestAndroidIosTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:195,1
    - Dst: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:196,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:201,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:202,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodAllocateQuotaRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:219,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 223
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillAllocateQuotaRequestNoMethodNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:235,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:237,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillNoApiKeyCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:246,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:255,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationIdTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:261,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:262,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:270,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:271,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:277,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:287,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 290
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestWithTracingProjectId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:294,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:295,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:302,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 306
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestByConsumerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:310,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:311,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:321,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:326,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 329
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - Status
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:333,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:334,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:346,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedByGrpcBackendTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:354,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:355,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:366,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:376,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:381,1
    - Dst: absl::StrReplaceAll
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:382,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrReplaceAll
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - Status
    - espv2::api_proxy::service_control::api_key::ToString
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportWithUntrustedApiKeyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:392,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:399,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 403
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestEmptyOptionalTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:407,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:423,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:424,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 427
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:431,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:449,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:450,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:457,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:477,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:478,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDUnknownTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:485,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:503,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:504,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 507
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedNotReportApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:512,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:529,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:530,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 534
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - ASSERT_FALSE
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyNotVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:538,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 547
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerOnlyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:551,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 561
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerAudienceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:48,1
    - Dst: std::ifstream::open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::is_open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:55,1
    - Dst: std::string::reserve
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::tellg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:57,1
    - Dst: std::string::assign
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:59,1
    - Dst: std::string::find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:65,1
    - Dst: std::string::replace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: std::string::length
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: strlen
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input_file_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: espv2::api_proxy::service_control::ReadTestBaseline
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 144
    functionsReached:
    - std::string::length
    - std::string::assign
    - std::string::reserve
    - EXPECT_TRUE
    - absl::StrCat
    - strlen
    - std::string::replace
    - std::string::find
    - std::ifstream::is_open
    - std::istreambuf_iterator<char>
    - std::ifstream::tellg
    - std::ifstream::open
    - std::ifstream::seekg
    linkageType: ''
    returnType: std::string
    signature: std::string ReadTestBaseline(const std::string& input_file_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: espv2::api_proxy::service_control::FillCheckRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestAndroidInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - QuotaRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillAllocateQuotaRequestInfo(QuotaRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - request
    argTypes:
    - ReportRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::FillReportRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillReportRequestInfo(ReportRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::CheckRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::CheckRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 36
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string CheckRequestToString(gasv1::CheckRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::AllocateQuotaRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: espv2::api_proxy::service_control::AllocateQuotaRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 24
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string AllocateQuotaRequestToString(gasv1::AllocateQuotaRequest*
      request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::ReportRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: espv2::api_proxy::service_control::ReportRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 84
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string ReportRequestToString(gasv1::ReportRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::microseconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::chrono::microseconds
    linkageType: ''
    returnType: void
    signature: void RequestBuilderTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - op
    argTypes:
    - OperationInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillOperationInfo(OperationInfo* op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::Struct::mutable_fields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:156,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:157,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    - Dst: auto*::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto*::empty
    - ::google::protobuf::Struct::mutable_fields
    - set_string_value
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RequestBuilder, TestRequestBuilderbufStruct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:163,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:164,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:169,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:176,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:177,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:178,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:185,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestAndroidIosTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:195,1
    - Dst: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:196,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:201,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:202,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodAllocateQuotaRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:219,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 223
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillAllocateQuotaRequestNoMethodNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:235,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:237,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillNoApiKeyCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:246,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:255,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationIdTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:261,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:262,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:270,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:271,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:277,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:287,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 290
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestWithTracingProjectId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:294,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:295,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:302,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 306
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestByConsumerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:310,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:311,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:321,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:326,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 329
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - Status
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:333,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:334,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:346,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedByGrpcBackendTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:354,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:355,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:366,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:376,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:381,1
    - Dst: absl::StrReplaceAll
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:382,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrReplaceAll
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - Status
    - espv2::api_proxy::service_control::api_key::ToString
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportWithUntrustedApiKeyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:392,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:399,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 403
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestEmptyOptionalTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:407,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:423,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:424,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 427
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:431,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:449,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:450,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:457,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:477,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:478,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDUnknownTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:485,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:503,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:504,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 507
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedNotReportApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:512,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:529,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:530,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 534
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - ASSERT_FALSE
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyNotVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:538,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 547
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerOnlyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:551,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 561
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerAudienceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:48,1
    - Dst: std::ifstream::open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::is_open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:55,1
    - Dst: std::string::reserve
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::tellg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:57,1
    - Dst: std::string::assign
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:59,1
    - Dst: std::string::find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:65,1
    - Dst: std::string::replace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: std::string::length
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: strlen
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input_file_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: espv2::api_proxy::service_control::ReadTestBaseline
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 156
    functionsReached:
    - std::string::length
    - std::string::assign
    - std::string::reserve
    - EXPECT_TRUE
    - absl::StrCat
    - strlen
    - std::string::replace
    - std::string::find
    - std::ifstream::is_open
    - std::istreambuf_iterator<char>
    - std::ifstream::tellg
    - std::ifstream::open
    - std::ifstream::seekg
    linkageType: ''
    returnType: std::string
    signature: std::string ReadTestBaseline(const std::string& input_file_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: espv2::api_proxy::service_control::FillCheckRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestAndroidInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - QuotaRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillAllocateQuotaRequestInfo(QuotaRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - request
    argTypes:
    - ReportRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::FillReportRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 78
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillReportRequestInfo(ReportRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::CheckRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::CheckRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 39
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string CheckRequestToString(gasv1::CheckRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::AllocateQuotaRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: espv2::api_proxy::service_control::AllocateQuotaRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 26
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string AllocateQuotaRequestToString(gasv1::AllocateQuotaRequest*
      request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::ReportRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: espv2::api_proxy::service_control::ReportRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 91
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string ReportRequestToString(gasv1::ReportRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::microseconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::chrono::microseconds
    linkageType: ''
    returnType: void
    signature: void RequestBuilderTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - op
    argTypes:
    - OperationInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillOperationInfo(OperationInfo* op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::Struct::mutable_fields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:156,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:157,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    - Dst: auto*::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto*::empty
    - ::google::protobuf::Struct::mutable_fields
    - set_string_value
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RequestBuilder, TestRequestBuilderbufStruct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:163,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:164,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:169,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:176,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:177,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:178,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:185,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestAndroidIosTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:195,1
    - Dst: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:196,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:201,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:202,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodAllocateQuotaRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:219,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 223
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillAllocateQuotaRequestNoMethodNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:235,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:237,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillNoApiKeyCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:246,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:255,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationIdTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:261,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:262,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:270,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:271,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:277,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:287,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 290
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestWithTracingProjectId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:294,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:295,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:302,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 306
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestByConsumerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:310,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:311,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:321,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:326,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 329
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - Status
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:333,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:334,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:346,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedByGrpcBackendTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:354,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:355,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:366,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:376,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:381,1
    - Dst: absl::StrReplaceAll
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:382,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrReplaceAll
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - Status
    - espv2::api_proxy::service_control::api_key::ToString
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportWithUntrustedApiKeyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:392,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:399,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 403
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestEmptyOptionalTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:407,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:423,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:424,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 427
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:431,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:449,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:450,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:457,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:477,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:478,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDUnknownTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:485,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:503,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:504,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 507
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedNotReportApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:512,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:529,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:530,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 534
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - ASSERT_FALSE
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyNotVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:538,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 547
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerOnlyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:551,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 561
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerAudienceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:48,1
    - Dst: std::ifstream::open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::is_open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:55,1
    - Dst: std::string::reserve
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::tellg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:57,1
    - Dst: std::string::assign
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:59,1
    - Dst: std::string::find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:65,1
    - Dst: std::string::replace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: std::string::length
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: strlen
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input_file_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: espv2::api_proxy::service_control::ReadTestBaseline
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 168
    functionsReached:
    - std::string::length
    - std::string::assign
    - std::string::reserve
    - EXPECT_TRUE
    - absl::StrCat
    - strlen
    - std::string::replace
    - std::string::find
    - std::ifstream::is_open
    - std::istreambuf_iterator<char>
    - std::ifstream::tellg
    - std::ifstream::open
    - std::ifstream::seekg
    linkageType: ''
    returnType: std::string
    signature: std::string ReadTestBaseline(const std::string& input_file_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: espv2::api_proxy::service_control::FillCheckRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestAndroidInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - QuotaRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillAllocateQuotaRequestInfo(QuotaRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - request
    argTypes:
    - ReportRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::FillReportRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 84
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillReportRequestInfo(ReportRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::CheckRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::CheckRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 42
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string CheckRequestToString(gasv1::CheckRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::AllocateQuotaRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: espv2::api_proxy::service_control::AllocateQuotaRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 28
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string AllocateQuotaRequestToString(gasv1::AllocateQuotaRequest*
      request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::ReportRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: espv2::api_proxy::service_control::ReportRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 98
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string ReportRequestToString(gasv1::ReportRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::microseconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::chrono::microseconds
    linkageType: ''
    returnType: void
    signature: void RequestBuilderTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - op
    argTypes:
    - OperationInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillOperationInfo(OperationInfo* op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::Struct::mutable_fields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:156,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:157,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    - Dst: auto*::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto*::empty
    - ::google::protobuf::Struct::mutable_fields
    - set_string_value
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RequestBuilder, TestRequestBuilderbufStruct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:163,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:164,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:169,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:176,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:177,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:178,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:185,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestAndroidIosTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:195,1
    - Dst: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:196,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:201,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:202,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodAllocateQuotaRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:219,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 223
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillAllocateQuotaRequestNoMethodNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:235,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:237,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillNoApiKeyCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:246,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:255,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationIdTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:261,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:262,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:270,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:271,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:277,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:287,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 290
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestWithTracingProjectId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:294,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:295,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:302,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 306
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestByConsumerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:310,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:311,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:321,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:326,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 329
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - Status
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:333,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:334,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:346,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedByGrpcBackendTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:354,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:355,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:366,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:376,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:381,1
    - Dst: absl::StrReplaceAll
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:382,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrReplaceAll
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - Status
    - espv2::api_proxy::service_control::api_key::ToString
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportWithUntrustedApiKeyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:392,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:399,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 403
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestEmptyOptionalTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:407,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:423,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:424,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 427
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:431,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:449,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:450,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:457,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:477,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:478,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDUnknownTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:485,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:503,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:504,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 507
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedNotReportApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:512,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:529,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:530,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 534
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - ASSERT_FALSE
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyNotVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:538,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 547
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerOnlyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:551,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 561
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerAudienceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:48,1
    - Dst: std::ifstream::open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:53,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::is_open
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:54,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:55,1
    - Dst: std::string::reserve
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::tellg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:56,1
    - Dst: std::ifstream::seekg
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:57,1
    - Dst: std::string::assign
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:58,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:59,1
    - Dst: std::string::find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:65,1
    - Dst: std::string::replace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: std::string::length
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:66,1
    - Dst: strlen
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input_file_name'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 70
    functionName: espv2::api_proxy::service_control::ReadTestBaseline
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 180
    functionsReached:
    - std::string::length
    - std::string::assign
    - std::string::reserve
    - EXPECT_TRUE
    - absl::StrCat
    - strlen
    - std::string::replace
    - std::string::find
    - std::ifstream::is_open
    - std::istreambuf_iterator<char>
    - std::ifstream::tellg
    - std::ifstream::open
    - std::ifstream::seekg
    linkageType: ''
    returnType: std::string
    signature: std::string ReadTestBaseline(const std::string& input_file_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: espv2::api_proxy::service_control::FillCheckRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - CheckRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillCheckRequestAndroidInfo(CheckRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - QuotaRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillAllocateQuotaRequestInfo(QuotaRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - request
    argTypes:
    - ReportRequestInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::FillReportRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 90
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillReportRequestInfo(ReportRequestInfo* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::CheckRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::CheckRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 45
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string CheckRequestToString(gasv1::CheckRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::AllocateQuotaRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: espv2::api_proxy::service_control::AllocateQuotaRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 30
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string AllocateQuotaRequestToString(gasv1::AllocateQuotaRequest*
      request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::PrintToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - request
    argTypes:
    - gasv1::ReportRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: espv2::api_proxy::service_control::ReportRequestToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 105
    functionsReached:
    - google::protobuf::TextFormat::PrintToString
    linkageType: ''
    returnType: std::string
    signature: std::string ReportRequestToString(gasv1::ReportRequest* request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: void
    signature: void SetUpTestCase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::microseconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - std::chrono::microseconds
    linkageType: ''
    returnType: void
    signature: void RequestBuilderTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - op
    argTypes:
    - OperationInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillOperationInfo(OperationInfo* op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::Struct::mutable_fields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:156,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:157,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    - Dst: auto*::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - auto*::empty
    - ::google::protobuf::Struct::mutable_fields
    - set_string_value
    - ASSERT_FALSE
    linkageType: ''
    returnType: void
    signature: void TEST(RequestBuilder, TestRequestBuilderbufStruct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:163,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:164,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:167,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:169,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:176,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:177,1
    - Dst: espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:178,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:181,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:185,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    - espv2::api_proxy::service_control::FillCheckRequestInfo
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodCheckRequestAndroidIosTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:195,1
    - Dst: espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:196,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:199,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:201,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:202,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodAllocateQuotaRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:211,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:217,1
    - Dst: espv2::api_proxy::service_control::AllocateQuotaRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:219,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:221,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 223
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - espv2::api_proxy::service_control::AllocateQuotaRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillAllocateQuotaRequestNoMethodNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:233,1
    - Dst: espv2::api_proxy::service_control::CheckRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:235,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:237,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::CheckRequestToString
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillNoApiKeyCheckRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:246,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationNameTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:255,1
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - FillCheckRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CheckRequestMissingOperationIdTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:261,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:262,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:268,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:270,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:271,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 273
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:277,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:278,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:285,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:287,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 290
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestWithTracingProjectId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:294,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:295,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:300,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:302,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:304,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 306
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillGoodReportRequestByConsumerTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:310,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:311,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:321,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:324,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:326,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 329
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - Status
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:333,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:334,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:344,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:346,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestFailedByGrpcBackendTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:354,1
    - Dst: espv2::api_proxy::service_control::FillReportRequestInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:355,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:366,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:374,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:376,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:381,1
    - Dst: absl::StrReplaceAll
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:382,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:384,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 388
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrReplaceAll
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::FillReportRequestInfo
    - espv2::api_proxy::service_control::ReadTestBaseline
    - Status
    - espv2::api_proxy::service_control::api_key::ToString
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportWithUntrustedApiKeyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:392,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:397,1
    - Dst: espv2::api_proxy::service_control::ReportRequestToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:399,1
    - Dst: espv2::api_proxy::service_control::ReadTestBaseline
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 403
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - espv2::api_proxy::service_control::ReportRequestToString
    - espv2::api_proxy::service_control::ReadTestBaseline
    - ASSERT_EQ
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, FillReportRequestEmptyOptionalTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:407,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:412,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:415,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:416,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:420,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:423,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:424,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:425,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 427
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:431,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:438,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:441,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:442,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:446,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:449,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:450,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:457,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:466,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:469,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:474,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:477,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:478,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedWithApiKeyUIDUnknownTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:485,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:492,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:495,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:496,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:500,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:503,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:504,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:505,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 507
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyVerifiedNotReportApiKeyUIDTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:512,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:520,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:526,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:529,1
    - Dst: gasv1::LogEntry::struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:530,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: auto::contains
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:531,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    - Dst: auto::at
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 534
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::LogEntry::struct_payload
    - ASSERT_FALSE
    - auto::contains
    - gasv1::ReportRequest::operations
    - auto::at
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, ReportApiKeyNotVerifiedTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:538,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:543,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 547
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerOnlyTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillOperationInfo
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:551,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:557,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    - Dst: gasv1::ReportRequest::operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 561
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_EQ
    - gasv1::ReportRequest::operations
    - FillOperationInfo
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(RequestBuilderTest, CredentailIdIssuerAudienceTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '& service_name() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & service_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: '& service_config_id() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & service_config_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '& service_name() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & service_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: '& service_config_id() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & service_config_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '& service_name() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & service_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: '& service_config_id() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & service_config_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '& service_name() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & service_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: '& service_config_id() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & service_config_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '& service_name() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & service_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: '& service_config_id() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & service_config_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '& service_name() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & service_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: '& service_config_id() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & service_config_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '& service_name() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & service_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: '& service_config_id() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & service_config_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: '& service_name() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & service_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: '& service_config_id() const'
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & service_config_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:40,1
    - Dst: ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    - Dst: CheckError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - got_check_error_code
    - want_code
    - want_error_type
    argTypes:
    - CheckError_Code
    - StatusCode
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - CheckError_Code_Name
    - Status::code
    - ConvertCheckResponse
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code, StatusCode want_code,\n
      \              ScResponseErrorType want_error_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyExpired)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithKeyNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithPermissionDenied)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithIpAddressBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithRefererBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithClientAppBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectDeleted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithBillingDisabled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithInvalidCredentail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithConsumerInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithResourceExhuasted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithApiTargetBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithNamespaceLookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithBillingStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithServiceStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       WhenResponseIsBlockedWithCloudResourceManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:162,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:163,1
    - Dst: CheckError*::set_detail
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:164,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: Status::message
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - Status::message
    - Status::code
    - CheckError*::set_code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - CheckError*::set_detail
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithServiceNotActivated)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:180,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:182,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:189,1
    - Dst: CheckResponse_ConsumerInfo_ConsumerType_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - std::to_string
    - CheckResponse::mutable_check_info
    - CheckResponse_ConsumerInfo_ConsumerType_Name
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ConvertConsumerInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:197,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::mutable_check_info
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - EXPECT_EQ
    - Status::code
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ApiKeyUidCarriedInCheckResponseInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:40,1
    - Dst: ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    - Dst: CheckError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - got_check_error_code
    - want_code
    - want_error_type
    argTypes:
    - CheckError_Code
    - StatusCode
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - CheckError_Code_Name
    - Status::code
    - ConvertCheckResponse
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code, StatusCode want_code,\n
      \              ScResponseErrorType want_error_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyExpired)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithKeyNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithPermissionDenied)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithIpAddressBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithRefererBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithClientAppBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectDeleted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithBillingDisabled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithInvalidCredentail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithConsumerInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithResourceExhuasted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithApiTargetBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithNamespaceLookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithBillingStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithServiceStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       WhenResponseIsBlockedWithCloudResourceManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:162,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:163,1
    - Dst: CheckError*::set_detail
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:164,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: Status::message
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - Status::message
    - Status::code
    - CheckError*::set_code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - CheckError*::set_detail
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithServiceNotActivated)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:180,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:182,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:189,1
    - Dst: CheckResponse_ConsumerInfo_ConsumerType_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - std::to_string
    - CheckResponse::mutable_check_info
    - CheckResponse_ConsumerInfo_ConsumerType_Name
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ConvertConsumerInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:197,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::mutable_check_info
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - EXPECT_EQ
    - Status::code
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ApiKeyUidCarriedInCheckResponseInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:40,1
    - Dst: ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    - Dst: CheckError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - got_check_error_code
    - want_code
    - want_error_type
    argTypes:
    - CheckError_Code
    - StatusCode
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - CheckError_Code_Name
    - Status::code
    - ConvertCheckResponse
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code, StatusCode want_code,\n
      \              ScResponseErrorType want_error_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyExpired)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithKeyNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithPermissionDenied)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithIpAddressBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithRefererBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithClientAppBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectDeleted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithBillingDisabled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithInvalidCredentail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithConsumerInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithResourceExhuasted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithApiTargetBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithNamespaceLookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithBillingStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithServiceStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       WhenResponseIsBlockedWithCloudResourceManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:162,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:163,1
    - Dst: CheckError*::set_detail
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:164,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: Status::message
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - Status::message
    - Status::code
    - CheckError*::set_code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - CheckError*::set_detail
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithServiceNotActivated)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:180,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:182,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:189,1
    - Dst: CheckResponse_ConsumerInfo_ConsumerType_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - std::to_string
    - CheckResponse::mutable_check_info
    - CheckResponse_ConsumerInfo_ConsumerType_Name
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ConvertConsumerInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:197,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::mutable_check_info
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - EXPECT_EQ
    - Status::code
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ApiKeyUidCarriedInCheckResponseInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:40,1
    - Dst: ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    - Dst: CheckError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - got_check_error_code
    - want_code
    - want_error_type
    argTypes:
    - CheckError_Code
    - StatusCode
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - CheckError_Code_Name
    - Status::code
    - ConvertCheckResponse
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code, StatusCode want_code,\n
      \              ScResponseErrorType want_error_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyExpired)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithKeyNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithPermissionDenied)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithIpAddressBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithRefererBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithClientAppBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectDeleted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithBillingDisabled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithInvalidCredentail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithConsumerInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithResourceExhuasted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithApiTargetBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithNamespaceLookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithBillingStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithServiceStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       WhenResponseIsBlockedWithCloudResourceManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:162,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:163,1
    - Dst: CheckError*::set_detail
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:164,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: Status::message
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - Status::message
    - Status::code
    - CheckError*::set_code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - CheckError*::set_detail
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithServiceNotActivated)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:180,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:182,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:189,1
    - Dst: CheckResponse_ConsumerInfo_ConsumerType_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - std::to_string
    - CheckResponse::mutable_check_info
    - CheckResponse_ConsumerInfo_ConsumerType_Name
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ConvertConsumerInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:197,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::mutable_check_info
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - EXPECT_EQ
    - Status::code
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ApiKeyUidCarriedInCheckResponseInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:40,1
    - Dst: ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    - Dst: CheckError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - got_check_error_code
    - want_code
    - want_error_type
    argTypes:
    - CheckError_Code
    - StatusCode
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - CheckError_Code_Name
    - Status::code
    - ConvertCheckResponse
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code, StatusCode want_code,\n
      \              ScResponseErrorType want_error_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyExpired)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithKeyNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithPermissionDenied)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithIpAddressBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithRefererBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithClientAppBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectDeleted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithBillingDisabled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithInvalidCredentail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithConsumerInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithResourceExhuasted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithApiTargetBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithNamespaceLookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithBillingStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithServiceStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       WhenResponseIsBlockedWithCloudResourceManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:162,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:163,1
    - Dst: CheckError*::set_detail
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:164,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: Status::message
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - Status::message
    - Status::code
    - CheckError*::set_code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - CheckError*::set_detail
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithServiceNotActivated)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:180,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:182,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:189,1
    - Dst: CheckResponse_ConsumerInfo_ConsumerType_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - std::to_string
    - CheckResponse::mutable_check_info
    - CheckResponse_ConsumerInfo_ConsumerType_Name
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ConvertConsumerInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:197,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::mutable_check_info
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - EXPECT_EQ
    - Status::code
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ApiKeyUidCarriedInCheckResponseInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:40,1
    - Dst: ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    - Dst: CheckError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - got_check_error_code
    - want_code
    - want_error_type
    argTypes:
    - CheckError_Code
    - StatusCode
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - CheckError_Code_Name
    - Status::code
    - ConvertCheckResponse
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code, StatusCode want_code,\n
      \              ScResponseErrorType want_error_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyExpired)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithKeyNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithPermissionDenied)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithIpAddressBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithRefererBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithClientAppBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectDeleted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithBillingDisabled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithInvalidCredentail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithConsumerInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithResourceExhuasted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithApiTargetBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithNamespaceLookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithBillingStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithServiceStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       WhenResponseIsBlockedWithCloudResourceManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:162,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:163,1
    - Dst: CheckError*::set_detail
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:164,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: Status::message
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - Status::message
    - Status::code
    - CheckError*::set_code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - CheckError*::set_detail
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithServiceNotActivated)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:180,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:182,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:189,1
    - Dst: CheckResponse_ConsumerInfo_ConsumerType_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - std::to_string
    - CheckResponse::mutable_check_info
    - CheckResponse_ConsumerInfo_ConsumerType_Name
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ConvertConsumerInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:197,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::mutable_check_info
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - EXPECT_EQ
    - Status::code
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ApiKeyUidCarriedInCheckResponseInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:40,1
    - Dst: ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    - Dst: CheckError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - got_check_error_code
    - want_code
    - want_error_type
    argTypes:
    - CheckError_Code
    - StatusCode
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - CheckError_Code_Name
    - Status::code
    - ConvertCheckResponse
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code, StatusCode want_code,\n
      \              ScResponseErrorType want_error_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyExpired)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithKeyNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithPermissionDenied)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithIpAddressBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithRefererBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithClientAppBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectDeleted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithBillingDisabled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithInvalidCredentail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithConsumerInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithResourceExhuasted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithApiTargetBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithNamespaceLookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithBillingStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithServiceStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       WhenResponseIsBlockedWithCloudResourceManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:162,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:163,1
    - Dst: CheckError*::set_detail
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:164,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: Status::message
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - Status::message
    - Status::code
    - CheckError*::set_code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - CheckError*::set_detail
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithServiceNotActivated)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:180,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:182,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:189,1
    - Dst: CheckResponse_ConsumerInfo_ConsumerType_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - std::to_string
    - CheckResponse::mutable_check_info
    - CheckResponse_ConsumerInfo_ConsumerType_Name
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ConvertConsumerInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:197,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::mutable_check_info
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - EXPECT_EQ
    - Status::code
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ApiKeyUidCarriedInCheckResponseInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:40,1
    - Dst: ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    - Dst: CheckError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - got_check_error_code
    - want_code
    - want_error_type
    argTypes:
    - CheckError_Code
    - StatusCode
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - CheckError_Code_Name
    - Status::code
    - ConvertCheckResponse
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code, StatusCode want_code,\n
      \              ScResponseErrorType want_error_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyExpired)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithKeyNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithPermissionDenied)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithIpAddressBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithRefererBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithClientAppBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectDeleted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithBillingDisabled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithInvalidCredentail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithConsumerInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithResourceExhuasted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithApiTargetBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithNamespaceLookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithBillingStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithServiceStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       WhenResponseIsBlockedWithCloudResourceManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:162,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:163,1
    - Dst: CheckError*::set_detail
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:164,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: Status::message
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - Status::message
    - Status::code
    - CheckError*::set_code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - CheckError*::set_detail
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithServiceNotActivated)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:180,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:182,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:189,1
    - Dst: CheckResponse_ConsumerInfo_ConsumerType_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - std::to_string
    - CheckResponse::mutable_check_info
    - CheckResponse_ConsumerInfo_ConsumerType_Name
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ConvertConsumerInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:197,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::mutable_check_info
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - EXPECT_EQ
    - Status::code
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ApiKeyUidCarriedInCheckResponseInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:40,1
    - Dst: ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    - Dst: CheckError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - got_check_error_code
    - want_code
    - want_error_type
    argTypes:
    - CheckError_Code
    - StatusCode
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - CheckError_Code_Name
    - Status::code
    - ConvertCheckResponse
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code, StatusCode want_code,\n
      \              ScResponseErrorType want_error_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyExpired)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithKeyNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithPermissionDenied)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithIpAddressBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithRefererBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithClientAppBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectDeleted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithBillingDisabled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithInvalidCredentail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithConsumerInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithResourceExhuasted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithApiTargetBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithNamespaceLookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithBillingStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithServiceStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       WhenResponseIsBlockedWithCloudResourceManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:162,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:163,1
    - Dst: CheckError*::set_detail
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:164,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: Status::message
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - Status::message
    - Status::code
    - CheckError*::set_code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - CheckError*::set_detail
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithServiceNotActivated)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:180,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:182,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:189,1
    - Dst: CheckResponse_ConsumerInfo_ConsumerType_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - std::to_string
    - CheckResponse::mutable_check_info
    - CheckResponse_ConsumerInfo_ConsumerType_Name
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ConvertConsumerInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:197,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::mutable_check_info
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - EXPECT_EQ
    - Status::code
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ApiKeyUidCarriedInCheckResponseInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:40,1
    - Dst: ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    - Dst: CheckError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - got_check_error_code
    - want_code
    - want_error_type
    argTypes:
    - CheckError_Code
    - StatusCode
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - CheckError_Code_Name
    - Status::code
    - ConvertCheckResponse
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code, StatusCode want_code,\n
      \              ScResponseErrorType want_error_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyExpired)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithKeyNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithPermissionDenied)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithIpAddressBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithRefererBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithClientAppBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectDeleted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithBillingDisabled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithInvalidCredentail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithConsumerInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithResourceExhuasted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithApiTargetBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithNamespaceLookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithBillingStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithServiceStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       WhenResponseIsBlockedWithCloudResourceManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:162,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:163,1
    - Dst: CheckError*::set_detail
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:164,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: Status::message
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - Status::message
    - Status::code
    - CheckError*::set_code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - CheckError*::set_detail
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithServiceNotActivated)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:180,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:182,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:189,1
    - Dst: CheckResponse_ConsumerInfo_ConsumerType_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - std::to_string
    - CheckResponse::mutable_check_info
    - CheckResponse_ConsumerInfo_ConsumerType_Name
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ConvertConsumerInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:197,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::mutable_check_info
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - EXPECT_EQ
    - Status::code
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ApiKeyUidCarriedInCheckResponseInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:40,1
    - Dst: ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    - Dst: CheckError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - got_check_error_code
    - want_code
    - want_error_type
    argTypes:
    - CheckError_Code
    - StatusCode
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - CheckError_Code_Name
    - Status::code
    - ConvertCheckResponse
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code, StatusCode want_code,\n
      \              ScResponseErrorType want_error_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyExpired)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithKeyNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithPermissionDenied)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithIpAddressBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithRefererBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithClientAppBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectDeleted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithBillingDisabled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithInvalidCredentail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithConsumerInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithResourceExhuasted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithApiTargetBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithNamespaceLookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithBillingStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithServiceStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       WhenResponseIsBlockedWithCloudResourceManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:162,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:163,1
    - Dst: CheckError*::set_detail
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:164,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: Status::message
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - Status::message
    - Status::code
    - CheckError*::set_code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - CheckError*::set_detail
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithServiceNotActivated)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:180,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:182,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:189,1
    - Dst: CheckResponse_ConsumerInfo_ConsumerType_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - std::to_string
    - CheckResponse::mutable_check_info
    - CheckResponse_ConsumerInfo_ConsumerType_Name
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ConvertConsumerInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:197,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::mutable_check_info
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - EXPECT_EQ
    - Status::code
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ApiKeyUidCarriedInCheckResponseInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:40,1
    - Dst: ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    - Dst: CheckError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - got_check_error_code
    - want_code
    - want_error_type
    argTypes:
    - CheckError_Code
    - StatusCode
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - CheckError_Code_Name
    - Status::code
    - ConvertCheckResponse
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code, StatusCode want_code,\n
      \              ScResponseErrorType want_error_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyExpired)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithKeyNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithPermissionDenied)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithIpAddressBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithRefererBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithClientAppBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectDeleted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithBillingDisabled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithInvalidCredentail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithConsumerInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithResourceExhuasted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithApiTargetBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithNamespaceLookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithBillingStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithServiceStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       WhenResponseIsBlockedWithCloudResourceManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:162,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:163,1
    - Dst: CheckError*::set_detail
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:164,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: Status::message
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - Status::message
    - Status::code
    - CheckError*::set_code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - CheckError*::set_detail
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithServiceNotActivated)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:180,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:182,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:189,1
    - Dst: CheckResponse_ConsumerInfo_ConsumerType_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - std::to_string
    - CheckResponse::mutable_check_info
    - CheckResponse_ConsumerInfo_ConsumerType_Name
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ConvertConsumerInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:197,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::mutable_check_info
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - EXPECT_EQ
    - Status::code
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ApiKeyUidCarriedInCheckResponseInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:40,1
    - Dst: ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    - Dst: CheckError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - got_check_error_code
    - want_code
    - want_error_type
    argTypes:
    - CheckError_Code
    - StatusCode
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - CheckError_Code_Name
    - Status::code
    - ConvertCheckResponse
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code, StatusCode want_code,\n
      \              ScResponseErrorType want_error_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyExpired)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithKeyNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithPermissionDenied)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithIpAddressBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithRefererBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithClientAppBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectDeleted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithBillingDisabled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithInvalidCredentail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithConsumerInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithResourceExhuasted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithApiTargetBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithNamespaceLookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithBillingStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithServiceStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       WhenResponseIsBlockedWithCloudResourceManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:162,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:163,1
    - Dst: CheckError*::set_detail
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:164,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: Status::message
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - Status::message
    - Status::code
    - CheckError*::set_code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - CheckError*::set_detail
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithServiceNotActivated)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:180,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:182,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:189,1
    - Dst: CheckResponse_ConsumerInfo_ConsumerType_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - std::to_string
    - CheckResponse::mutable_check_info
    - CheckResponse_ConsumerInfo_ConsumerType_Name
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ConvertConsumerInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:197,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::mutable_check_info
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - EXPECT_EQ
    - Status::code
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ApiKeyUidCarriedInCheckResponseInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:40,1
    - Dst: ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    - Dst: CheckError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - got_check_error_code
    - want_code
    - want_error_type
    argTypes:
    - CheckError_Code
    - StatusCode
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - CheckError_Code_Name
    - Status::code
    - ConvertCheckResponse
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code, StatusCode want_code,\n
      \              ScResponseErrorType want_error_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyExpired)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithKeyNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithPermissionDenied)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithIpAddressBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithRefererBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithClientAppBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectDeleted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithBillingDisabled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithInvalidCredentail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithConsumerInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithResourceExhuasted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithApiTargetBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithNamespaceLookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithBillingStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithServiceStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       WhenResponseIsBlockedWithCloudResourceManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:162,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:163,1
    - Dst: CheckError*::set_detail
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:164,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: Status::message
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - Status::message
    - Status::code
    - CheckError*::set_code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - CheckError*::set_detail
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithServiceNotActivated)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:180,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:182,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:189,1
    - Dst: CheckResponse_ConsumerInfo_ConsumerType_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - std::to_string
    - CheckResponse::mutable_check_info
    - CheckResponse_ConsumerInfo_ConsumerType_Name
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ConvertConsumerInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:197,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::mutable_check_info
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - EXPECT_EQ
    - Status::code
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ApiKeyUidCarriedInCheckResponseInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:40,1
    - Dst: ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    - Dst: CheckError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - got_check_error_code
    - want_code
    - want_error_type
    argTypes:
    - CheckError_Code
    - StatusCode
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - CheckError_Code_Name
    - Status::code
    - ConvertCheckResponse
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code, StatusCode want_code,\n
      \              ScResponseErrorType want_error_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyExpired)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithKeyNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithPermissionDenied)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithIpAddressBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithRefererBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithClientAppBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectDeleted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithBillingDisabled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithInvalidCredentail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithConsumerInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithResourceExhuasted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithApiTargetBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithNamespaceLookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithBillingStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithServiceStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       WhenResponseIsBlockedWithCloudResourceManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:162,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:163,1
    - Dst: CheckError*::set_detail
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:164,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: Status::message
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - Status::message
    - Status::code
    - CheckError*::set_code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - CheckError*::set_detail
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithServiceNotActivated)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:180,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:182,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:189,1
    - Dst: CheckResponse_ConsumerInfo_ConsumerType_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - std::to_string
    - CheckResponse::mutable_check_info
    - CheckResponse_ConsumerInfo_ConsumerType_Name
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ConvertConsumerInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:197,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::mutable_check_info
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - EXPECT_EQ
    - Status::code
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ApiKeyUidCarriedInCheckResponseInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:40,1
    - Dst: ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    - Dst: CheckError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - got_check_error_code
    - want_code
    - want_error_type
    argTypes:
    - CheckError_Code
    - StatusCode
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - CheckError_Code_Name
    - Status::code
    - ConvertCheckResponse
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code, StatusCode want_code,\n
      \              ScResponseErrorType want_error_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsKeyExpired)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithKeyNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithInvalidArgumentWhenRespIsBlockedWithNotFound)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithPermissionDenied)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithIpAddressBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithRefererBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithClientAppBlocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectDeleted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithProjectInvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenResponseIsBlockedWithBillingDisabled)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithInvalidCredentail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithConsumerInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithResourceExhuasted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithApiTargetBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithNamespaceLookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithBillingStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, WhenResponseIsBlockedWithServiceStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 156
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       WhenResponseIsBlockedWithCloudResourceManager)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::add_check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:162,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:163,1
    - Dst: CheckError*::set_detail
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:164,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:168,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: Status::message
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckResponse::add_check_errors
    - Status::message
    - Status::code
    - CheckError*::set_code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - CheckError*::set_detail
    linkageType: ''
    returnType: void
    signature: "void TEST_F(CheckResponseConverterTest,\n       AbortedWithPermissionDeniedWhenRespIsBlockedWithServiceNotActivated)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:180,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:182,1
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:183,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:189,1
    - Dst: CheckResponse_ConsumerInfo_ConsumerType_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:190,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 192
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - std::to_string
    - CheckResponse::mutable_check_info
    - CheckResponse_ConsumerInfo_ConsumerType_Name
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ConvertConsumerInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::mutable_check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:197,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:199,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: Status::code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: espv2::api_proxy::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::mutable_check_info
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - EXPECT_EQ
    - Status::code
    linkageType: ''
    returnType: void
    signature: void TEST_F(CheckResponseConverterTest, ApiKeyUidCarriedInCheckResponseInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogsMetricsLoader::LoadLogsMetrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' service'
    - logs
    - metrics
    - labels
    argTypes:
    - Service
    - std::set<std::string>*
    - std::set<std::string>*
    - std::set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::Load
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - LogsMetricsLoader::LoadLogsMetrics
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::Load(const Service& service,\n                               std::set<std::string>*
      logs,\n                               std::set<std::string>* metrics,\n                               std::set<std::string>*
      labels)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:52,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:53,1
    - Dst: std::map<std::string, const LabelDescriptor&>*::find
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:56,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:56,1
    - Dst: std::map<std::string, const LabelDescriptor&>*::end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:57,1
    - Dst: auto::second::value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:58,1
    - Dst: value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:58,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:59,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:60,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:66,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:67,1
    - Dst: label_supported_
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:68,1
    - Dst: std::map<std::string, const LabelDescriptor&>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:69,1
    - Dst: std::map<std::string, const LabelDescriptor&>::value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:69,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:70,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' descriptors'
    - labels
    argTypes:
    - RepeatedPtrField<LabelDescriptor>
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - size
    - std::map<std::string, const LabelDescriptor&>::value_type
    - std::map<std::string, const LabelDescriptor&>*::find
    - Get
    - std::map<std::string, const LabelDescriptor&>*::insert
    - label_supported_
    - auto::second::value_type
    - Status
    - OkStatus
    - std::map<std::string, const LabelDescriptor&>*::end
    - value_type
    - key
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddLabels(\n    const RepeatedPtrField<LabelDescriptor>&
      descriptors,\n    std::map<std::string, const LabelDescriptor&>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:81,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:82,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:83,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:85,1
    - Dst: labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:85,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' descriptors'
    - ' log_name'
    - labels
    argTypes:
    - ::google::protobuf::RepeatedPtrField<LogDescriptor>
    - std::string
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - size
    - name
    - Get
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    - Status
    - labels
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddLogLabels(\n    const ::google::protobuf::RepeatedPtrField<LogDescriptor>&
      descriptors,\n    const std::string& log_name,\n    std::map<std::string, const
      LabelDescriptor&>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:95,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:96,1
    - Dst: type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:97,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:99,1
    - Dst: labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:99,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' descriptors'
    - ' monitored_resource_name'
    - labels
    argTypes:
    - RepeatedPtrField<MonitoredResourceDescriptor>
    - std::string
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - size
    - type
    - Get
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    - Status
    - labels
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddMonitoredResourceLabels(\n    const RepeatedPtrField<MonitoredResourceDescriptor>&
      descriptors,\n    const std::string& monitored_resource_name,\n    std::map<std::string,
      const LabelDescriptor&>* labels)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:112,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:113,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:114,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:116,1
    - Dst: monitored_resource
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:116,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:118,1
    - Dst: logs_size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:123,1
    - Dst: logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:124,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:125,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:126,1
    - Dst: std::set<std::string>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:129,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - ' destinations'
    - ' monitored_resources'
    - ' log_descriptors'
    - logs
    - labels
    argTypes:
    - RepeatedPtrField<Logging_LoggingDestination>
    - RepeatedPtrField<MonitoredResourceDescriptor>
    - RepeatedPtrField<LogDescriptor>
    - std::set<std::string>*
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - size
    - std::set<std::string>*::insert
    - monitored_resource
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
    - logs
    - Get
    - OkStatus
    - Status::ok
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
    - logs_size
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddLoggingDestinations(\n    const RepeatedPtrField<Logging_LoggingDestination>&
      destinations,\n    const RepeatedPtrField<MonitoredResourceDescriptor>& monitored_resources,\n
      \   const RepeatedPtrField<LogDescriptor>& log_descriptors,\n    std::set<std::string>*
      logs,\n    std::map<std::string, const LabelDescriptor&>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:138,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:138,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:138,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:140,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' metric_descriptors'
    - ' metric_name'
    argTypes:
    - RepeatedPtrField<MetricDescriptor>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::api_proxy::service_control::FindMetricDescriptor
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - std::find_if
    - begin
    - name
    - end
    linkageType: ''
    returnType: MetricDescriptor
    signature: "MetricDescriptor * FindMetricDescriptor(\n    const RepeatedPtrField<MetricDescriptor>&
      metric_descriptors,\n    const std::string& metric_name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:151,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:153,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:154,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:155,1
    - Dst: monitored_resource
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:155,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:157,1
    - Dst: metrics_size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:161,1
    - Dst: metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:162,1
    - Dst: FindMetricDescriptor
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:164,1
    - Dst: metric_supported_
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:166,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:171,1
    - Dst: MetricDescriptor*::labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:171,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:172,1
    - Dst: std::map<std::string, const MetricDescriptor&>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:177,1
    - Dst: std::map<std::string, const MetricDescriptor&>::value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:183,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - ' destinations'
    - ' monitored_resources'
    - ' metric_descriptors'
    - metrics
    - labels
    argTypes:
    - RepeatedPtrField<Monitoring_MonitoringDestination>
    - RepeatedPtrField<MonitoredResourceDescriptor>
    - RepeatedPtrField<MetricDescriptor>
    - std::map<std::string, const MetricDescriptor&>*
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 184
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - size
    - FindMetricDescriptor
    - monitored_resource
    - metrics
    - MetricDescriptor*::labels
    - std::map<std::string, const MetricDescriptor&>*::insert
    - Get
    - metrics_size
    - std::map<std::string, const MetricDescriptor&>::value_type
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    - OkStatus
    - Status::ok
    - metric_supported_
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddMonitoringDestinations(\n    const RepeatedPtrField<Monitoring_MonitoringDestination>&
      destinations,\n    const RepeatedPtrField<MonitoredResourceDescriptor>& monitored_resources,\n
      \   const RepeatedPtrField<MetricDescriptor>& metric_descriptors,\n    std::map<std::string,
      const MetricDescriptor&>* metrics,\n    std::map<std::string, const LabelDescriptor&>*
      labels)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:193,1
    - Dst: logging
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:196,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:197,1
    - Dst: producer_destinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:197,1
    - Dst: monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:198,1
    - Dst: logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:198,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:200,1
    - Dst: monitoring
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:203,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:204,1
    - Dst: producer_destinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:204,1
    - Dst: monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:205,1
    - Dst: metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:206,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:207,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:208,1
    - Dst: consumer_destinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:208,1
    - Dst: monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:209,1
    - Dst: metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:210,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:211,1
    - Dst: std::map::begin
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:214,1
    - Dst: std::map::end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:214,1
    - Dst: std::set<std::string>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:216,1
    - Dst: std::map::begin
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:220,1
    - Dst: std::map::end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:220,1
    - Dst: std::set<std::string>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:221,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - ' service'
    - logs
    - metrics
    - labels
    argTypes:
    - Service
    - std::set<std::string>*
    - std::set<std::string>*
    - std::set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 225
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::LoadLogsMetrics
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
    - std::set<std::string>*::insert
    - producer_destinations
    - metrics
    - std::map::begin
    - monitored_resources
    - logs
    - std::map::end
    - consumer_destinations
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
    - monitoring
    - OkStatus
    - Status::ok
    - logging
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::LoadLogsMetrics(const Service& service,\n
      \                                         std::set<std::string>* logs,\n                                          std::set<std::string>*
      metrics,\n                                          std::set<std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogsMetricsLoader::LoadLogsMetrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' service'
    - logs
    - metrics
    - labels
    argTypes:
    - Service
    - std::set<std::string>*
    - std::set<std::string>*
    - std::set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::Load
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - LogsMetricsLoader::LoadLogsMetrics
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::Load(const Service& service,\n                               std::set<std::string>*
      logs,\n                               std::set<std::string>* metrics,\n                               std::set<std::string>*
      labels)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:52,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:53,1
    - Dst: std::map<std::string, const LabelDescriptor&>*::find
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:56,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:56,1
    - Dst: std::map<std::string, const LabelDescriptor&>*::end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:57,1
    - Dst: auto::second::value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:58,1
    - Dst: value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:58,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:59,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:60,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:66,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:67,1
    - Dst: label_supported_
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:68,1
    - Dst: std::map<std::string, const LabelDescriptor&>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:69,1
    - Dst: std::map<std::string, const LabelDescriptor&>::value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:69,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:70,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' descriptors'
    - labels
    argTypes:
    - RepeatedPtrField<LabelDescriptor>
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 3
    functionsReached:
    - size
    - std::map<std::string, const LabelDescriptor&>::value_type
    - std::map<std::string, const LabelDescriptor&>*::find
    - Get
    - std::map<std::string, const LabelDescriptor&>*::insert
    - label_supported_
    - auto::second::value_type
    - Status
    - OkStatus
    - std::map<std::string, const LabelDescriptor&>*::end
    - value_type
    - key
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddLabels(\n    const RepeatedPtrField<LabelDescriptor>&
      descriptors,\n    std::map<std::string, const LabelDescriptor&>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:81,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:82,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:83,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:85,1
    - Dst: labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:85,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' descriptors'
    - ' log_name'
    - labels
    argTypes:
    - ::google::protobuf::RepeatedPtrField<LogDescriptor>
    - std::string
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 1
    functionsReached:
    - size
    - name
    - Get
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    - Status
    - labels
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddLogLabels(\n    const ::google::protobuf::RepeatedPtrField<LogDescriptor>&
      descriptors,\n    const std::string& log_name,\n    std::map<std::string, const
      LabelDescriptor&>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:95,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:96,1
    - Dst: type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:97,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:99,1
    - Dst: labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:99,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' descriptors'
    - ' monitored_resource_name'
    - labels
    argTypes:
    - RepeatedPtrField<MonitoredResourceDescriptor>
    - std::string
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 2
    functionsReached:
    - size
    - type
    - Get
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    - Status
    - labels
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddMonitoredResourceLabels(\n    const RepeatedPtrField<MonitoredResourceDescriptor>&
      descriptors,\n    const std::string& monitored_resource_name,\n    std::map<std::string,
      const LabelDescriptor&>* labels)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:112,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:113,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:114,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:116,1
    - Dst: monitored_resource
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:116,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:118,1
    - Dst: logs_size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:123,1
    - Dst: logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:124,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:125,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:126,1
    - Dst: std::set<std::string>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:129,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - ' destinations'
    - ' monitored_resources'
    - ' log_descriptors'
    - logs
    - labels
    argTypes:
    - RepeatedPtrField<Logging_LoggingDestination>
    - RepeatedPtrField<MonitoredResourceDescriptor>
    - RepeatedPtrField<LogDescriptor>
    - std::set<std::string>*
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 1
    functionsReached:
    - size
    - std::set<std::string>*::insert
    - monitored_resource
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
    - logs
    - Get
    - OkStatus
    - Status::ok
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
    - logs_size
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddLoggingDestinations(\n    const RepeatedPtrField<Logging_LoggingDestination>&
      destinations,\n    const RepeatedPtrField<MonitoredResourceDescriptor>& monitored_resources,\n
      \   const RepeatedPtrField<LogDescriptor>& log_descriptors,\n    std::set<std::string>*
      logs,\n    std::map<std::string, const LabelDescriptor&>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:138,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:138,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:138,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:140,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' metric_descriptors'
    - ' metric_name'
    argTypes:
    - RepeatedPtrField<MetricDescriptor>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::api_proxy::service_control::FindMetricDescriptor
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - std::find_if
    - begin
    - name
    - end
    linkageType: ''
    returnType: MetricDescriptor
    signature: "MetricDescriptor * FindMetricDescriptor(\n    const RepeatedPtrField<MetricDescriptor>&
      metric_descriptors,\n    const std::string& metric_name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:151,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:153,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:154,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:155,1
    - Dst: monitored_resource
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:155,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:157,1
    - Dst: metrics_size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:161,1
    - Dst: metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:162,1
    - Dst: FindMetricDescriptor
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:164,1
    - Dst: metric_supported_
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:166,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:171,1
    - Dst: MetricDescriptor*::labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:171,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:172,1
    - Dst: std::map<std::string, const MetricDescriptor&>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:177,1
    - Dst: std::map<std::string, const MetricDescriptor&>::value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:183,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - ' destinations'
    - ' monitored_resources'
    - ' metric_descriptors'
    - metrics
    - labels
    argTypes:
    - RepeatedPtrField<Monitoring_MonitoringDestination>
    - RepeatedPtrField<MonitoredResourceDescriptor>
    - RepeatedPtrField<MetricDescriptor>
    - std::map<std::string, const MetricDescriptor&>*
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 184
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 1
    functionsReached:
    - size
    - FindMetricDescriptor
    - monitored_resource
    - metrics
    - MetricDescriptor*::labels
    - std::map<std::string, const MetricDescriptor&>*::insert
    - Get
    - metrics_size
    - std::map<std::string, const MetricDescriptor&>::value_type
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    - OkStatus
    - Status::ok
    - metric_supported_
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddMonitoringDestinations(\n    const RepeatedPtrField<Monitoring_MonitoringDestination>&
      destinations,\n    const RepeatedPtrField<MonitoredResourceDescriptor>& monitored_resources,\n
      \   const RepeatedPtrField<MetricDescriptor>& metric_descriptors,\n    std::map<std::string,
      const MetricDescriptor&>* metrics,\n    std::map<std::string, const LabelDescriptor&>*
      labels)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:193,1
    - Dst: logging
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:196,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:197,1
    - Dst: producer_destinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:197,1
    - Dst: monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:198,1
    - Dst: logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:198,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:200,1
    - Dst: monitoring
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:203,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:204,1
    - Dst: producer_destinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:204,1
    - Dst: monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:205,1
    - Dst: metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:206,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:207,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:208,1
    - Dst: consumer_destinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:208,1
    - Dst: monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:209,1
    - Dst: metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:210,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:211,1
    - Dst: std::map::begin
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:214,1
    - Dst: std::map::end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:214,1
    - Dst: std::set<std::string>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:216,1
    - Dst: std::map::begin
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:220,1
    - Dst: std::map::end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:220,1
    - Dst: std::set<std::string>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:221,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - ' service'
    - logs
    - metrics
    - labels
    argTypes:
    - Service
    - std::set<std::string>*
    - std::set<std::string>*
    - std::set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 225
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::LoadLogsMetrics
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
    - std::set<std::string>*::insert
    - producer_destinations
    - metrics
    - std::map::begin
    - monitored_resources
    - logs
    - std::map::end
    - consumer_destinations
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
    - monitoring
    - OkStatus
    - Status::ok
    - logging
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::LoadLogsMetrics(const Service& service,\n
      \                                         std::set<std::string>* logs,\n                                          std::set<std::string>*
      metrics,\n                                          std::set<std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogsMetricsLoader::LoadLogsMetrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' service'
    - logs
    - metrics
    - labels
    argTypes:
    - Service
    - std::set<std::string>*
    - std::set<std::string>*
    - std::set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::Load
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - LogsMetricsLoader::LoadLogsMetrics
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::Load(const Service& service,\n                               std::set<std::string>*
      logs,\n                               std::set<std::string>* metrics,\n                               std::set<std::string>*
      labels)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:52,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:53,1
    - Dst: std::map<std::string, const LabelDescriptor&>*::find
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:56,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:56,1
    - Dst: std::map<std::string, const LabelDescriptor&>*::end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:57,1
    - Dst: auto::second::value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:58,1
    - Dst: value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:58,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:59,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:60,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:66,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:67,1
    - Dst: label_supported_
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:68,1
    - Dst: std::map<std::string, const LabelDescriptor&>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:69,1
    - Dst: std::map<std::string, const LabelDescriptor&>::value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:69,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:70,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' descriptors'
    - labels
    argTypes:
    - RepeatedPtrField<LabelDescriptor>
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 6
    functionsReached:
    - size
    - std::map<std::string, const LabelDescriptor&>::value_type
    - std::map<std::string, const LabelDescriptor&>*::find
    - Get
    - std::map<std::string, const LabelDescriptor&>*::insert
    - label_supported_
    - auto::second::value_type
    - Status
    - OkStatus
    - std::map<std::string, const LabelDescriptor&>*::end
    - value_type
    - key
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddLabels(\n    const RepeatedPtrField<LabelDescriptor>&
      descriptors,\n    std::map<std::string, const LabelDescriptor&>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:81,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:82,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:83,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:85,1
    - Dst: labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:85,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' descriptors'
    - ' log_name'
    - labels
    argTypes:
    - ::google::protobuf::RepeatedPtrField<LogDescriptor>
    - std::string
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 2
    functionsReached:
    - size
    - name
    - Get
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    - Status
    - labels
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddLogLabels(\n    const ::google::protobuf::RepeatedPtrField<LogDescriptor>&
      descriptors,\n    const std::string& log_name,\n    std::map<std::string, const
      LabelDescriptor&>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:95,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:96,1
    - Dst: type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:97,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:99,1
    - Dst: labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:99,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' descriptors'
    - ' monitored_resource_name'
    - labels
    argTypes:
    - RepeatedPtrField<MonitoredResourceDescriptor>
    - std::string
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 4
    functionsReached:
    - size
    - type
    - Get
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    - Status
    - labels
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddMonitoredResourceLabels(\n    const RepeatedPtrField<MonitoredResourceDescriptor>&
      descriptors,\n    const std::string& monitored_resource_name,\n    std::map<std::string,
      const LabelDescriptor&>* labels)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:112,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:113,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:114,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:116,1
    - Dst: monitored_resource
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:116,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:118,1
    - Dst: logs_size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:123,1
    - Dst: logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:124,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:125,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:126,1
    - Dst: std::set<std::string>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:129,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - ' destinations'
    - ' monitored_resources'
    - ' log_descriptors'
    - logs
    - labels
    argTypes:
    - RepeatedPtrField<Logging_LoggingDestination>
    - RepeatedPtrField<MonitoredResourceDescriptor>
    - RepeatedPtrField<LogDescriptor>
    - std::set<std::string>*
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 2
    functionsReached:
    - size
    - std::set<std::string>*::insert
    - monitored_resource
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
    - logs
    - Get
    - OkStatus
    - Status::ok
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
    - logs_size
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddLoggingDestinations(\n    const RepeatedPtrField<Logging_LoggingDestination>&
      destinations,\n    const RepeatedPtrField<MonitoredResourceDescriptor>& monitored_resources,\n
      \   const RepeatedPtrField<LogDescriptor>& log_descriptors,\n    std::set<std::string>*
      logs,\n    std::map<std::string, const LabelDescriptor&>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:138,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:138,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:138,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:140,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' metric_descriptors'
    - ' metric_name'
    argTypes:
    - RepeatedPtrField<MetricDescriptor>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::api_proxy::service_control::FindMetricDescriptor
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - std::find_if
    - begin
    - name
    - end
    linkageType: ''
    returnType: MetricDescriptor
    signature: "MetricDescriptor * FindMetricDescriptor(\n    const RepeatedPtrField<MetricDescriptor>&
      metric_descriptors,\n    const std::string& metric_name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:151,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:153,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:154,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:155,1
    - Dst: monitored_resource
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:155,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:157,1
    - Dst: metrics_size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:161,1
    - Dst: metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:162,1
    - Dst: FindMetricDescriptor
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:164,1
    - Dst: metric_supported_
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:166,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:171,1
    - Dst: MetricDescriptor*::labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:171,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:172,1
    - Dst: std::map<std::string, const MetricDescriptor&>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:177,1
    - Dst: std::map<std::string, const MetricDescriptor&>::value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:183,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - ' destinations'
    - ' monitored_resources'
    - ' metric_descriptors'
    - metrics
    - labels
    argTypes:
    - RepeatedPtrField<Monitoring_MonitoringDestination>
    - RepeatedPtrField<MonitoredResourceDescriptor>
    - RepeatedPtrField<MetricDescriptor>
    - std::map<std::string, const MetricDescriptor&>*
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 184
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 2
    functionsReached:
    - size
    - FindMetricDescriptor
    - monitored_resource
    - metrics
    - MetricDescriptor*::labels
    - std::map<std::string, const MetricDescriptor&>*::insert
    - Get
    - metrics_size
    - std::map<std::string, const MetricDescriptor&>::value_type
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    - OkStatus
    - Status::ok
    - metric_supported_
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddMonitoringDestinations(\n    const RepeatedPtrField<Monitoring_MonitoringDestination>&
      destinations,\n    const RepeatedPtrField<MonitoredResourceDescriptor>& monitored_resources,\n
      \   const RepeatedPtrField<MetricDescriptor>& metric_descriptors,\n    std::map<std::string,
      const MetricDescriptor&>* metrics,\n    std::map<std::string, const LabelDescriptor&>*
      labels)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:193,1
    - Dst: logging
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:196,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:197,1
    - Dst: producer_destinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:197,1
    - Dst: monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:198,1
    - Dst: logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:198,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:200,1
    - Dst: monitoring
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:203,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:204,1
    - Dst: producer_destinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:204,1
    - Dst: monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:205,1
    - Dst: metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:206,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:207,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:208,1
    - Dst: consumer_destinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:208,1
    - Dst: monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:209,1
    - Dst: metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:210,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:211,1
    - Dst: std::map::begin
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:214,1
    - Dst: std::map::end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:214,1
    - Dst: std::set<std::string>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:216,1
    - Dst: std::map::begin
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:220,1
    - Dst: std::map::end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:220,1
    - Dst: std::set<std::string>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:221,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - ' service'
    - logs
    - metrics
    - labels
    argTypes:
    - Service
    - std::set<std::string>*
    - std::set<std::string>*
    - std::set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 225
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::LoadLogsMetrics
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
    - std::set<std::string>*::insert
    - producer_destinations
    - metrics
    - std::map::begin
    - monitored_resources
    - logs
    - std::map::end
    - consumer_destinations
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
    - monitoring
    - OkStatus
    - Status::ok
    - logging
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::LoadLogsMetrics(const Service& service,\n
      \                                         std::set<std::string>* logs,\n                                          std::set<std::string>*
      metrics,\n                                          std::set<std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogsMetricsLoader::LoadLogsMetrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' service'
    - logs
    - metrics
    - labels
    argTypes:
    - Service
    - std::set<std::string>*
    - std::set<std::string>*
    - std::set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::Load
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - LogsMetricsLoader::LoadLogsMetrics
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::Load(const Service& service,\n                               std::set<std::string>*
      logs,\n                               std::set<std::string>* metrics,\n                               std::set<std::string>*
      labels)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:52,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:53,1
    - Dst: std::map<std::string, const LabelDescriptor&>*::find
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:56,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:56,1
    - Dst: std::map<std::string, const LabelDescriptor&>*::end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:57,1
    - Dst: auto::second::value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:58,1
    - Dst: value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:58,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:59,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:60,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:66,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:67,1
    - Dst: label_supported_
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:68,1
    - Dst: std::map<std::string, const LabelDescriptor&>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:69,1
    - Dst: std::map<std::string, const LabelDescriptor&>::value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:69,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:70,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' descriptors'
    - labels
    argTypes:
    - RepeatedPtrField<LabelDescriptor>
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 9
    functionsReached:
    - size
    - std::map<std::string, const LabelDescriptor&>::value_type
    - std::map<std::string, const LabelDescriptor&>*::find
    - Get
    - std::map<std::string, const LabelDescriptor&>*::insert
    - label_supported_
    - auto::second::value_type
    - Status
    - OkStatus
    - std::map<std::string, const LabelDescriptor&>*::end
    - value_type
    - key
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddLabels(\n    const RepeatedPtrField<LabelDescriptor>&
      descriptors,\n    std::map<std::string, const LabelDescriptor&>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:81,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:82,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:83,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:85,1
    - Dst: labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:85,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' descriptors'
    - ' log_name'
    - labels
    argTypes:
    - ::google::protobuf::RepeatedPtrField<LogDescriptor>
    - std::string
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 3
    functionsReached:
    - size
    - name
    - Get
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    - Status
    - labels
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddLogLabels(\n    const ::google::protobuf::RepeatedPtrField<LogDescriptor>&
      descriptors,\n    const std::string& log_name,\n    std::map<std::string, const
      LabelDescriptor&>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:95,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:96,1
    - Dst: type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:97,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:99,1
    - Dst: labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:99,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' descriptors'
    - ' monitored_resource_name'
    - labels
    argTypes:
    - RepeatedPtrField<MonitoredResourceDescriptor>
    - std::string
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 6
    functionsReached:
    - size
    - type
    - Get
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    - Status
    - labels
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddMonitoredResourceLabels(\n    const RepeatedPtrField<MonitoredResourceDescriptor>&
      descriptors,\n    const std::string& monitored_resource_name,\n    std::map<std::string,
      const LabelDescriptor&>* labels)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:112,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:113,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:114,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:116,1
    - Dst: monitored_resource
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:116,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:118,1
    - Dst: logs_size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:123,1
    - Dst: logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:124,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:125,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:126,1
    - Dst: std::set<std::string>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:129,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - ' destinations'
    - ' monitored_resources'
    - ' log_descriptors'
    - logs
    - labels
    argTypes:
    - RepeatedPtrField<Logging_LoggingDestination>
    - RepeatedPtrField<MonitoredResourceDescriptor>
    - RepeatedPtrField<LogDescriptor>
    - std::set<std::string>*
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 3
    functionsReached:
    - size
    - std::set<std::string>*::insert
    - monitored_resource
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
    - logs
    - Get
    - OkStatus
    - Status::ok
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
    - logs_size
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddLoggingDestinations(\n    const RepeatedPtrField<Logging_LoggingDestination>&
      destinations,\n    const RepeatedPtrField<MonitoredResourceDescriptor>& monitored_resources,\n
      \   const RepeatedPtrField<LogDescriptor>& log_descriptors,\n    std::set<std::string>*
      logs,\n    std::map<std::string, const LabelDescriptor&>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:138,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:138,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:138,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:140,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' metric_descriptors'
    - ' metric_name'
    argTypes:
    - RepeatedPtrField<MetricDescriptor>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::api_proxy::service_control::FindMetricDescriptor
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - std::find_if
    - begin
    - name
    - end
    linkageType: ''
    returnType: MetricDescriptor
    signature: "MetricDescriptor * FindMetricDescriptor(\n    const RepeatedPtrField<MetricDescriptor>&
      metric_descriptors,\n    const std::string& metric_name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:151,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:153,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:154,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:155,1
    - Dst: monitored_resource
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:155,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:157,1
    - Dst: metrics_size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:161,1
    - Dst: metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:162,1
    - Dst: FindMetricDescriptor
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:164,1
    - Dst: metric_supported_
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:166,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:171,1
    - Dst: MetricDescriptor*::labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:171,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:172,1
    - Dst: std::map<std::string, const MetricDescriptor&>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:177,1
    - Dst: std::map<std::string, const MetricDescriptor&>::value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:183,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - ' destinations'
    - ' monitored_resources'
    - ' metric_descriptors'
    - metrics
    - labels
    argTypes:
    - RepeatedPtrField<Monitoring_MonitoringDestination>
    - RepeatedPtrField<MonitoredResourceDescriptor>
    - RepeatedPtrField<MetricDescriptor>
    - std::map<std::string, const MetricDescriptor&>*
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 184
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 3
    functionsReached:
    - size
    - FindMetricDescriptor
    - monitored_resource
    - metrics
    - MetricDescriptor*::labels
    - std::map<std::string, const MetricDescriptor&>*::insert
    - Get
    - metrics_size
    - std::map<std::string, const MetricDescriptor&>::value_type
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    - OkStatus
    - Status::ok
    - metric_supported_
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddMonitoringDestinations(\n    const RepeatedPtrField<Monitoring_MonitoringDestination>&
      destinations,\n    const RepeatedPtrField<MonitoredResourceDescriptor>& monitored_resources,\n
      \   const RepeatedPtrField<MetricDescriptor>& metric_descriptors,\n    std::map<std::string,
      const MetricDescriptor&>* metrics,\n    std::map<std::string, const LabelDescriptor&>*
      labels)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:193,1
    - Dst: logging
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:196,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:197,1
    - Dst: producer_destinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:197,1
    - Dst: monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:198,1
    - Dst: logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:198,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:200,1
    - Dst: monitoring
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:203,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:204,1
    - Dst: producer_destinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:204,1
    - Dst: monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:205,1
    - Dst: metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:206,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:207,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:208,1
    - Dst: consumer_destinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:208,1
    - Dst: monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:209,1
    - Dst: metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:210,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:211,1
    - Dst: std::map::begin
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:214,1
    - Dst: std::map::end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:214,1
    - Dst: std::set<std::string>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:216,1
    - Dst: std::map::begin
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:220,1
    - Dst: std::map::end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:220,1
    - Dst: std::set<std::string>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:221,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - ' service'
    - logs
    - metrics
    - labels
    argTypes:
    - Service
    - std::set<std::string>*
    - std::set<std::string>*
    - std::set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 225
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::LoadLogsMetrics
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
    - std::set<std::string>*::insert
    - producer_destinations
    - metrics
    - std::map::begin
    - monitored_resources
    - logs
    - std::map::end
    - consumer_destinations
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
    - monitoring
    - OkStatus
    - Status::ok
    - logging
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::LoadLogsMetrics(const Service& service,\n
      \                                         std::set<std::string>* logs,\n                                          std::set<std::string>*
      metrics,\n                                          std::set<std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogsMetricsLoader::LoadLogsMetrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' service'
    - logs
    - metrics
    - labels
    argTypes:
    - Service
    - std::set<std::string>*
    - std::set<std::string>*
    - std::set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::Load
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - LogsMetricsLoader::LoadLogsMetrics
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::Load(const Service& service,\n                               std::set<std::string>*
      logs,\n                               std::set<std::string>* metrics,\n                               std::set<std::string>*
      labels)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:52,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:53,1
    - Dst: std::map<std::string, const LabelDescriptor&>*::find
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:56,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:56,1
    - Dst: std::map<std::string, const LabelDescriptor&>*::end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:57,1
    - Dst: auto::second::value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:58,1
    - Dst: value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:58,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:59,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:60,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:66,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:67,1
    - Dst: label_supported_
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:68,1
    - Dst: std::map<std::string, const LabelDescriptor&>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:69,1
    - Dst: std::map<std::string, const LabelDescriptor&>::value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:69,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:70,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' descriptors'
    - labels
    argTypes:
    - RepeatedPtrField<LabelDescriptor>
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 12
    functionsReached:
    - size
    - std::map<std::string, const LabelDescriptor&>::value_type
    - std::map<std::string, const LabelDescriptor&>*::find
    - Get
    - std::map<std::string, const LabelDescriptor&>*::insert
    - label_supported_
    - auto::second::value_type
    - Status
    - OkStatus
    - std::map<std::string, const LabelDescriptor&>*::end
    - value_type
    - key
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddLabels(\n    const RepeatedPtrField<LabelDescriptor>&
      descriptors,\n    std::map<std::string, const LabelDescriptor&>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:81,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:82,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:83,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:85,1
    - Dst: labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:85,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' descriptors'
    - ' log_name'
    - labels
    argTypes:
    - ::google::protobuf::RepeatedPtrField<LogDescriptor>
    - std::string
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 4
    functionsReached:
    - size
    - name
    - Get
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    - Status
    - labels
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddLogLabels(\n    const ::google::protobuf::RepeatedPtrField<LogDescriptor>&
      descriptors,\n    const std::string& log_name,\n    std::map<std::string, const
      LabelDescriptor&>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:95,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:96,1
    - Dst: type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:97,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:99,1
    - Dst: labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:99,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' descriptors'
    - ' monitored_resource_name'
    - labels
    argTypes:
    - RepeatedPtrField<MonitoredResourceDescriptor>
    - std::string
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 8
    functionsReached:
    - size
    - type
    - Get
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    - Status
    - labels
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddMonitoredResourceLabels(\n    const RepeatedPtrField<MonitoredResourceDescriptor>&
      descriptors,\n    const std::string& monitored_resource_name,\n    std::map<std::string,
      const LabelDescriptor&>* labels)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:112,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:113,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:114,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:116,1
    - Dst: monitored_resource
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:116,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:118,1
    - Dst: logs_size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:123,1
    - Dst: logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:124,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:125,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:126,1
    - Dst: std::set<std::string>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:129,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - ' destinations'
    - ' monitored_resources'
    - ' log_descriptors'
    - logs
    - labels
    argTypes:
    - RepeatedPtrField<Logging_LoggingDestination>
    - RepeatedPtrField<MonitoredResourceDescriptor>
    - RepeatedPtrField<LogDescriptor>
    - std::set<std::string>*
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 4
    functionsReached:
    - size
    - std::set<std::string>*::insert
    - monitored_resource
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
    - logs
    - Get
    - OkStatus
    - Status::ok
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
    - logs_size
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddLoggingDestinations(\n    const RepeatedPtrField<Logging_LoggingDestination>&
      destinations,\n    const RepeatedPtrField<MonitoredResourceDescriptor>& monitored_resources,\n
      \   const RepeatedPtrField<LogDescriptor>& log_descriptors,\n    std::set<std::string>*
      logs,\n    std::map<std::string, const LabelDescriptor&>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:138,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:138,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:138,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:140,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' metric_descriptors'
    - ' metric_name'
    argTypes:
    - RepeatedPtrField<MetricDescriptor>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::api_proxy::service_control::FindMetricDescriptor
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - std::find_if
    - begin
    - name
    - end
    linkageType: ''
    returnType: MetricDescriptor
    signature: "MetricDescriptor * FindMetricDescriptor(\n    const RepeatedPtrField<MetricDescriptor>&
      metric_descriptors,\n    const std::string& metric_name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:151,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:153,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:154,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:155,1
    - Dst: monitored_resource
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:155,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:157,1
    - Dst: metrics_size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:161,1
    - Dst: metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:162,1
    - Dst: FindMetricDescriptor
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:164,1
    - Dst: metric_supported_
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:166,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:171,1
    - Dst: MetricDescriptor*::labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:171,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:172,1
    - Dst: std::map<std::string, const MetricDescriptor&>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:177,1
    - Dst: std::map<std::string, const MetricDescriptor&>::value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:183,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - ' destinations'
    - ' monitored_resources'
    - ' metric_descriptors'
    - metrics
    - labels
    argTypes:
    - RepeatedPtrField<Monitoring_MonitoringDestination>
    - RepeatedPtrField<MonitoredResourceDescriptor>
    - RepeatedPtrField<MetricDescriptor>
    - std::map<std::string, const MetricDescriptor&>*
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 184
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 4
    functionsReached:
    - size
    - FindMetricDescriptor
    - monitored_resource
    - metrics
    - MetricDescriptor*::labels
    - std::map<std::string, const MetricDescriptor&>*::insert
    - Get
    - metrics_size
    - std::map<std::string, const MetricDescriptor&>::value_type
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    - OkStatus
    - Status::ok
    - metric_supported_
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddMonitoringDestinations(\n    const RepeatedPtrField<Monitoring_MonitoringDestination>&
      destinations,\n    const RepeatedPtrField<MonitoredResourceDescriptor>& monitored_resources,\n
      \   const RepeatedPtrField<MetricDescriptor>& metric_descriptors,\n    std::map<std::string,
      const MetricDescriptor&>* metrics,\n    std::map<std::string, const LabelDescriptor&>*
      labels)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:193,1
    - Dst: logging
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:196,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:197,1
    - Dst: producer_destinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:197,1
    - Dst: monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:198,1
    - Dst: logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:198,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:200,1
    - Dst: monitoring
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:203,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:204,1
    - Dst: producer_destinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:204,1
    - Dst: monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:205,1
    - Dst: metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:206,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:207,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:208,1
    - Dst: consumer_destinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:208,1
    - Dst: monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:209,1
    - Dst: metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:210,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:211,1
    - Dst: std::map::begin
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:214,1
    - Dst: std::map::end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:214,1
    - Dst: std::set<std::string>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:216,1
    - Dst: std::map::begin
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:220,1
    - Dst: std::map::end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:220,1
    - Dst: std::set<std::string>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:221,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - ' service'
    - logs
    - metrics
    - labels
    argTypes:
    - Service
    - std::set<std::string>*
    - std::set<std::string>*
    - std::set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 225
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::LoadLogsMetrics
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
    - std::set<std::string>*::insert
    - producer_destinations
    - metrics
    - std::map::begin
    - monitored_resources
    - logs
    - std::map::end
    - consumer_destinations
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
    - monitoring
    - OkStatus
    - Status::ok
    - logging
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::LoadLogsMetrics(const Service& service,\n
      \                                         std::set<std::string>* logs,\n                                          std::set<std::string>*
      metrics,\n                                          std::set<std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogsMetricsLoader::LoadLogsMetrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' service'
    - logs
    - metrics
    - labels
    argTypes:
    - Service
    - std::set<std::string>*
    - std::set<std::string>*
    - std::set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::Load
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - LogsMetricsLoader::LoadLogsMetrics
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::Load(const Service& service,\n                               std::set<std::string>*
      logs,\n                               std::set<std::string>* metrics,\n                               std::set<std::string>*
      labels)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:52,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:53,1
    - Dst: std::map<std::string, const LabelDescriptor&>*::find
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:56,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:56,1
    - Dst: std::map<std::string, const LabelDescriptor&>*::end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:57,1
    - Dst: auto::second::value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:58,1
    - Dst: value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:58,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:59,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:60,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:66,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:67,1
    - Dst: label_supported_
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:68,1
    - Dst: std::map<std::string, const LabelDescriptor&>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:69,1
    - Dst: std::map<std::string, const LabelDescriptor&>::value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:69,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:70,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' descriptors'
    - labels
    argTypes:
    - RepeatedPtrField<LabelDescriptor>
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 15
    functionsReached:
    - size
    - std::map<std::string, const LabelDescriptor&>::value_type
    - std::map<std::string, const LabelDescriptor&>*::find
    - Get
    - std::map<std::string, const LabelDescriptor&>*::insert
    - label_supported_
    - auto::second::value_type
    - Status
    - OkStatus
    - std::map<std::string, const LabelDescriptor&>*::end
    - value_type
    - key
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddLabels(\n    const RepeatedPtrField<LabelDescriptor>&
      descriptors,\n    std::map<std::string, const LabelDescriptor&>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:81,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:82,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:83,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:85,1
    - Dst: labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:85,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' descriptors'
    - ' log_name'
    - labels
    argTypes:
    - ::google::protobuf::RepeatedPtrField<LogDescriptor>
    - std::string
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 5
    functionsReached:
    - size
    - name
    - Get
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    - Status
    - labels
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddLogLabels(\n    const ::google::protobuf::RepeatedPtrField<LogDescriptor>&
      descriptors,\n    const std::string& log_name,\n    std::map<std::string, const
      LabelDescriptor&>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:95,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:96,1
    - Dst: type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:97,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:99,1
    - Dst: labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:99,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' descriptors'
    - ' monitored_resource_name'
    - labels
    argTypes:
    - RepeatedPtrField<MonitoredResourceDescriptor>
    - std::string
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 10
    functionsReached:
    - size
    - type
    - Get
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    - Status
    - labels
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddMonitoredResourceLabels(\n    const RepeatedPtrField<MonitoredResourceDescriptor>&
      descriptors,\n    const std::string& monitored_resource_name,\n    std::map<std::string,
      const LabelDescriptor&>* labels)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:112,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:113,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:114,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:116,1
    - Dst: monitored_resource
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:116,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:118,1
    - Dst: logs_size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:123,1
    - Dst: logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:124,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:125,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:126,1
    - Dst: std::set<std::string>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:129,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - ' destinations'
    - ' monitored_resources'
    - ' log_descriptors'
    - logs
    - labels
    argTypes:
    - RepeatedPtrField<Logging_LoggingDestination>
    - RepeatedPtrField<MonitoredResourceDescriptor>
    - RepeatedPtrField<LogDescriptor>
    - std::set<std::string>*
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 5
    functionsReached:
    - size
    - std::set<std::string>*::insert
    - monitored_resource
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
    - logs
    - Get
    - OkStatus
    - Status::ok
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
    - logs_size
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddLoggingDestinations(\n    const RepeatedPtrField<Logging_LoggingDestination>&
      destinations,\n    const RepeatedPtrField<MonitoredResourceDescriptor>& monitored_resources,\n
      \   const RepeatedPtrField<LogDescriptor>& log_descriptors,\n    std::set<std::string>*
      logs,\n    std::map<std::string, const LabelDescriptor&>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:138,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:138,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:138,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:140,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' metric_descriptors'
    - ' metric_name'
    argTypes:
    - RepeatedPtrField<MetricDescriptor>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::api_proxy::service_control::FindMetricDescriptor
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - std::find_if
    - begin
    - name
    - end
    linkageType: ''
    returnType: MetricDescriptor
    signature: "MetricDescriptor * FindMetricDescriptor(\n    const RepeatedPtrField<MetricDescriptor>&
      metric_descriptors,\n    const std::string& metric_name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:151,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:153,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:154,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:155,1
    - Dst: monitored_resource
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:155,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:157,1
    - Dst: metrics_size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:161,1
    - Dst: metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:162,1
    - Dst: FindMetricDescriptor
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:164,1
    - Dst: metric_supported_
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:166,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:171,1
    - Dst: MetricDescriptor*::labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:171,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:172,1
    - Dst: std::map<std::string, const MetricDescriptor&>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:177,1
    - Dst: std::map<std::string, const MetricDescriptor&>::value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:183,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - ' destinations'
    - ' monitored_resources'
    - ' metric_descriptors'
    - metrics
    - labels
    argTypes:
    - RepeatedPtrField<Monitoring_MonitoringDestination>
    - RepeatedPtrField<MonitoredResourceDescriptor>
    - RepeatedPtrField<MetricDescriptor>
    - std::map<std::string, const MetricDescriptor&>*
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 184
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 5
    functionsReached:
    - size
    - FindMetricDescriptor
    - monitored_resource
    - metrics
    - MetricDescriptor*::labels
    - std::map<std::string, const MetricDescriptor&>*::insert
    - Get
    - metrics_size
    - std::map<std::string, const MetricDescriptor&>::value_type
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    - OkStatus
    - Status::ok
    - metric_supported_
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddMonitoringDestinations(\n    const RepeatedPtrField<Monitoring_MonitoringDestination>&
      destinations,\n    const RepeatedPtrField<MonitoredResourceDescriptor>& monitored_resources,\n
      \   const RepeatedPtrField<MetricDescriptor>& metric_descriptors,\n    std::map<std::string,
      const MetricDescriptor&>* metrics,\n    std::map<std::string, const LabelDescriptor&>*
      labels)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:193,1
    - Dst: logging
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:196,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:197,1
    - Dst: producer_destinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:197,1
    - Dst: monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:198,1
    - Dst: logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:198,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:200,1
    - Dst: monitoring
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:203,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:204,1
    - Dst: producer_destinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:204,1
    - Dst: monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:205,1
    - Dst: metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:206,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:207,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:208,1
    - Dst: consumer_destinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:208,1
    - Dst: monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:209,1
    - Dst: metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:210,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:211,1
    - Dst: std::map::begin
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:214,1
    - Dst: std::map::end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:214,1
    - Dst: std::set<std::string>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:216,1
    - Dst: std::map::begin
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:220,1
    - Dst: std::map::end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:220,1
    - Dst: std::set<std::string>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:221,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - ' service'
    - logs
    - metrics
    - labels
    argTypes:
    - Service
    - std::set<std::string>*
    - std::set<std::string>*
    - std::set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 225
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::LoadLogsMetrics
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
    - std::set<std::string>*::insert
    - producer_destinations
    - metrics
    - std::map::begin
    - monitored_resources
    - logs
    - std::map::end
    - consumer_destinations
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
    - monitoring
    - OkStatus
    - Status::ok
    - logging
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::LoadLogsMetrics(const Service& service,\n
      \                                         std::set<std::string>* logs,\n                                          std::set<std::string>*
      metrics,\n                                          std::set<std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogsMetricsLoader::LoadLogsMetrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' service'
    - logs
    - metrics
    - labels
    argTypes:
    - Service
    - std::set<std::string>*
    - std::set<std::string>*
    - std::set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::Load
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - LogsMetricsLoader::LoadLogsMetrics
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::Load(const Service& service,\n                               std::set<std::string>*
      logs,\n                               std::set<std::string>* metrics,\n                               std::set<std::string>*
      labels)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:52,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:53,1
    - Dst: std::map<std::string, const LabelDescriptor&>*::find
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:56,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:56,1
    - Dst: std::map<std::string, const LabelDescriptor&>*::end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:57,1
    - Dst: auto::second::value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:58,1
    - Dst: value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:58,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:59,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:60,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:66,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:67,1
    - Dst: label_supported_
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:68,1
    - Dst: std::map<std::string, const LabelDescriptor&>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:69,1
    - Dst: std::map<std::string, const LabelDescriptor&>::value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:69,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:70,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' descriptors'
    - labels
    argTypes:
    - RepeatedPtrField<LabelDescriptor>
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 18
    functionsReached:
    - size
    - std::map<std::string, const LabelDescriptor&>::value_type
    - std::map<std::string, const LabelDescriptor&>*::find
    - Get
    - std::map<std::string, const LabelDescriptor&>*::insert
    - label_supported_
    - auto::second::value_type
    - Status
    - OkStatus
    - std::map<std::string, const LabelDescriptor&>*::end
    - value_type
    - key
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddLabels(\n    const RepeatedPtrField<LabelDescriptor>&
      descriptors,\n    std::map<std::string, const LabelDescriptor&>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:81,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:82,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:83,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:85,1
    - Dst: labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:85,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' descriptors'
    - ' log_name'
    - labels
    argTypes:
    - ::google::protobuf::RepeatedPtrField<LogDescriptor>
    - std::string
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 6
    functionsReached:
    - size
    - name
    - Get
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    - Status
    - labels
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddLogLabels(\n    const ::google::protobuf::RepeatedPtrField<LogDescriptor>&
      descriptors,\n    const std::string& log_name,\n    std::map<std::string, const
      LabelDescriptor&>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:95,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:96,1
    - Dst: type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:97,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:99,1
    - Dst: labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:99,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' descriptors'
    - ' monitored_resource_name'
    - labels
    argTypes:
    - RepeatedPtrField<MonitoredResourceDescriptor>
    - std::string
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 12
    functionsReached:
    - size
    - type
    - Get
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    - Status
    - labels
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddMonitoredResourceLabels(\n    const RepeatedPtrField<MonitoredResourceDescriptor>&
      descriptors,\n    const std::string& monitored_resource_name,\n    std::map<std::string,
      const LabelDescriptor&>* labels)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:112,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:113,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:114,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:116,1
    - Dst: monitored_resource
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:116,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:118,1
    - Dst: logs_size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:123,1
    - Dst: logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:124,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:125,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:126,1
    - Dst: std::set<std::string>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:129,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - ' destinations'
    - ' monitored_resources'
    - ' log_descriptors'
    - logs
    - labels
    argTypes:
    - RepeatedPtrField<Logging_LoggingDestination>
    - RepeatedPtrField<MonitoredResourceDescriptor>
    - RepeatedPtrField<LogDescriptor>
    - std::set<std::string>*
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 6
    functionsReached:
    - size
    - std::set<std::string>*::insert
    - monitored_resource
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
    - logs
    - Get
    - OkStatus
    - Status::ok
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
    - logs_size
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddLoggingDestinations(\n    const RepeatedPtrField<Logging_LoggingDestination>&
      destinations,\n    const RepeatedPtrField<MonitoredResourceDescriptor>& monitored_resources,\n
      \   const RepeatedPtrField<LogDescriptor>& log_descriptors,\n    std::set<std::string>*
      logs,\n    std::map<std::string, const LabelDescriptor&>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:138,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:138,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:138,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:140,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' metric_descriptors'
    - ' metric_name'
    argTypes:
    - RepeatedPtrField<MetricDescriptor>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::api_proxy::service_control::FindMetricDescriptor
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - std::find_if
    - begin
    - name
    - end
    linkageType: ''
    returnType: MetricDescriptor
    signature: "MetricDescriptor * FindMetricDescriptor(\n    const RepeatedPtrField<MetricDescriptor>&
      metric_descriptors,\n    const std::string& metric_name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:151,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:153,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:154,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:155,1
    - Dst: monitored_resource
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:155,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:157,1
    - Dst: metrics_size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:161,1
    - Dst: metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:162,1
    - Dst: FindMetricDescriptor
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:164,1
    - Dst: metric_supported_
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:166,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:171,1
    - Dst: MetricDescriptor*::labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:171,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:172,1
    - Dst: std::map<std::string, const MetricDescriptor&>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:177,1
    - Dst: std::map<std::string, const MetricDescriptor&>::value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:183,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - ' destinations'
    - ' monitored_resources'
    - ' metric_descriptors'
    - metrics
    - labels
    argTypes:
    - RepeatedPtrField<Monitoring_MonitoringDestination>
    - RepeatedPtrField<MonitoredResourceDescriptor>
    - RepeatedPtrField<MetricDescriptor>
    - std::map<std::string, const MetricDescriptor&>*
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 184
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 6
    functionsReached:
    - size
    - FindMetricDescriptor
    - monitored_resource
    - metrics
    - MetricDescriptor*::labels
    - std::map<std::string, const MetricDescriptor&>*::insert
    - Get
    - metrics_size
    - std::map<std::string, const MetricDescriptor&>::value_type
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    - OkStatus
    - Status::ok
    - metric_supported_
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddMonitoringDestinations(\n    const RepeatedPtrField<Monitoring_MonitoringDestination>&
      destinations,\n    const RepeatedPtrField<MonitoredResourceDescriptor>& monitored_resources,\n
      \   const RepeatedPtrField<MetricDescriptor>& metric_descriptors,\n    std::map<std::string,
      const MetricDescriptor&>* metrics,\n    std::map<std::string, const LabelDescriptor&>*
      labels)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:193,1
    - Dst: logging
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:196,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:197,1
    - Dst: producer_destinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:197,1
    - Dst: monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:198,1
    - Dst: logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:198,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:200,1
    - Dst: monitoring
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:203,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:204,1
    - Dst: producer_destinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:204,1
    - Dst: monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:205,1
    - Dst: metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:206,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:207,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:208,1
    - Dst: consumer_destinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:208,1
    - Dst: monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:209,1
    - Dst: metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:210,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:211,1
    - Dst: std::map::begin
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:214,1
    - Dst: std::map::end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:214,1
    - Dst: std::set<std::string>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:216,1
    - Dst: std::map::begin
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:220,1
    - Dst: std::map::end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:220,1
    - Dst: std::set<std::string>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:221,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - ' service'
    - logs
    - metrics
    - labels
    argTypes:
    - Service
    - std::set<std::string>*
    - std::set<std::string>*
    - std::set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 225
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::LoadLogsMetrics
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
    - std::set<std::string>*::insert
    - producer_destinations
    - metrics
    - std::map::begin
    - monitored_resources
    - logs
    - std::map::end
    - consumer_destinations
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
    - monitoring
    - OkStatus
    - Status::ok
    - logging
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::LoadLogsMetrics(const Service& service,\n
      \                                         std::set<std::string>* logs,\n                                          std::set<std::string>*
      metrics,\n                                          std::set<std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogsMetricsLoader::LoadLogsMetrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' service'
    - logs
    - metrics
    - labels
    argTypes:
    - Service
    - std::set<std::string>*
    - std::set<std::string>*
    - std::set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::Load
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - LogsMetricsLoader::LoadLogsMetrics
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::Load(const Service& service,\n                               std::set<std::string>*
      logs,\n                               std::set<std::string>* metrics,\n                               std::set<std::string>*
      labels)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:52,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:53,1
    - Dst: std::map<std::string, const LabelDescriptor&>*::find
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:56,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:56,1
    - Dst: std::map<std::string, const LabelDescriptor&>*::end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:57,1
    - Dst: auto::second::value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:58,1
    - Dst: value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:58,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:59,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:60,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:66,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:67,1
    - Dst: label_supported_
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:68,1
    - Dst: std::map<std::string, const LabelDescriptor&>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:69,1
    - Dst: std::map<std::string, const LabelDescriptor&>::value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:69,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:70,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ' descriptors'
    - labels
    argTypes:
    - RepeatedPtrField<LabelDescriptor>
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 21
    functionsReached:
    - size
    - std::map<std::string, const LabelDescriptor&>::value_type
    - std::map<std::string, const LabelDescriptor&>*::find
    - Get
    - std::map<std::string, const LabelDescriptor&>*::insert
    - label_supported_
    - auto::second::value_type
    - Status
    - OkStatus
    - std::map<std::string, const LabelDescriptor&>*::end
    - value_type
    - key
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddLabels(\n    const RepeatedPtrField<LabelDescriptor>&
      descriptors,\n    std::map<std::string, const LabelDescriptor&>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:81,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:82,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:83,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:85,1
    - Dst: labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:85,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' descriptors'
    - ' log_name'
    - labels
    argTypes:
    - ::google::protobuf::RepeatedPtrField<LogDescriptor>
    - std::string
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 7
    functionsReached:
    - size
    - name
    - Get
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    - Status
    - labels
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddLogLabels(\n    const ::google::protobuf::RepeatedPtrField<LogDescriptor>&
      descriptors,\n    const std::string& log_name,\n    std::map<std::string, const
      LabelDescriptor&>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:95,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:96,1
    - Dst: type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:97,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:99,1
    - Dst: labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:99,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' descriptors'
    - ' monitored_resource_name'
    - labels
    argTypes:
    - RepeatedPtrField<MonitoredResourceDescriptor>
    - std::string
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 14
    functionsReached:
    - size
    - type
    - Get
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    - Status
    - labels
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddMonitoredResourceLabels(\n    const RepeatedPtrField<MonitoredResourceDescriptor>&
      descriptors,\n    const std::string& monitored_resource_name,\n    std::map<std::string,
      const LabelDescriptor&>* labels)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:112,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:113,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:114,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:116,1
    - Dst: monitored_resource
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:116,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:118,1
    - Dst: logs_size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:123,1
    - Dst: logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:124,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:125,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:126,1
    - Dst: std::set<std::string>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:129,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - ' destinations'
    - ' monitored_resources'
    - ' log_descriptors'
    - logs
    - labels
    argTypes:
    - RepeatedPtrField<Logging_LoggingDestination>
    - RepeatedPtrField<MonitoredResourceDescriptor>
    - RepeatedPtrField<LogDescriptor>
    - std::set<std::string>*
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 7
    functionsReached:
    - size
    - std::set<std::string>*::insert
    - monitored_resource
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
    - logs
    - Get
    - OkStatus
    - Status::ok
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
    - logs_size
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddLoggingDestinations(\n    const RepeatedPtrField<Logging_LoggingDestination>&
      destinations,\n    const RepeatedPtrField<MonitoredResourceDescriptor>& monitored_resources,\n
      \   const RepeatedPtrField<LogDescriptor>& log_descriptors,\n    std::set<std::string>*
      logs,\n    std::map<std::string, const LabelDescriptor&>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::find_if
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:138,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:138,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:138,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:140,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' metric_descriptors'
    - ' metric_name'
    argTypes:
    - RepeatedPtrField<MetricDescriptor>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::api_proxy::service_control::FindMetricDescriptor
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - std::find_if
    - begin
    - name
    - end
    linkageType: ''
    returnType: MetricDescriptor
    signature: "MetricDescriptor * FindMetricDescriptor(\n    const RepeatedPtrField<MetricDescriptor>&
      metric_descriptors,\n    const std::string& metric_name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:151,1
    - Dst: size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:153,1
    - Dst: Get
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:154,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:155,1
    - Dst: monitored_resource
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:155,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:157,1
    - Dst: metrics_size
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:161,1
    - Dst: metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:162,1
    - Dst: FindMetricDescriptor
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:164,1
    - Dst: metric_supported_
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:166,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:171,1
    - Dst: MetricDescriptor*::labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:171,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:172,1
    - Dst: std::map<std::string, const MetricDescriptor&>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:177,1
    - Dst: std::map<std::string, const MetricDescriptor&>::value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:183,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - ' destinations'
    - ' monitored_resources'
    - ' metric_descriptors'
    - metrics
    - labels
    argTypes:
    - RepeatedPtrField<Monitoring_MonitoringDestination>
    - RepeatedPtrField<MonitoredResourceDescriptor>
    - RepeatedPtrField<MetricDescriptor>
    - std::map<std::string, const MetricDescriptor&>*
    - std::map<std::string, const LabelDescriptor&>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 184
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 7
    functionsReached:
    - size
    - FindMetricDescriptor
    - monitored_resource
    - metrics
    - MetricDescriptor*::labels
    - std::map<std::string, const MetricDescriptor&>*::insert
    - Get
    - metrics_size
    - std::map<std::string, const MetricDescriptor&>::value_type
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
    - OkStatus
    - Status::ok
    - metric_supported_
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::AddMonitoringDestinations(\n    const RepeatedPtrField<Monitoring_MonitoringDestination>&
      destinations,\n    const RepeatedPtrField<MonitoredResourceDescriptor>& monitored_resources,\n
      \   const RepeatedPtrField<MetricDescriptor>& metric_descriptors,\n    std::map<std::string,
      const MetricDescriptor&>* metrics,\n    std::map<std::string, const LabelDescriptor&>*
      labels)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:193,1
    - Dst: logging
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:196,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:197,1
    - Dst: producer_destinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:197,1
    - Dst: monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:198,1
    - Dst: logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:198,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:200,1
    - Dst: monitoring
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:203,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:204,1
    - Dst: producer_destinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:204,1
    - Dst: monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:205,1
    - Dst: metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:206,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:207,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:208,1
    - Dst: consumer_destinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:208,1
    - Dst: monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:209,1
    - Dst: metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:210,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:211,1
    - Dst: std::map::begin
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:214,1
    - Dst: std::map::end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:214,1
    - Dst: std::set<std::string>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:216,1
    - Dst: std::map::begin
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:220,1
    - Dst: std::map::end
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:220,1
    - Dst: std::set<std::string>*::insert
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:221,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - ' service'
    - logs
    - metrics
    - labels
    argTypes:
    - Service
    - std::set<std::string>*
    - std::set<std::string>*
    - std::set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 225
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::LoadLogsMetrics
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
    - std::set<std::string>*::insert
    - producer_destinations
    - metrics
    - std::map::begin
    - monitored_resources
    - logs
    - std::map::end
    - consumer_destinations
    - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
    - monitoring
    - OkStatus
    - Status::ok
    - logging
    linkageType: ''
    returnType: Status
    signature: "Status LogsMetricsLoader::LoadLogsMetrics(const Service& service,\n
      \                                         std::set<std::string>* logs,\n                                          std::set<std::string>*
      metrics,\n                                          std::set<std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - label_supported
    - metric_supported
    argTypes:
    - std::function<bool(const ::google::api::LabelDescriptor&)>
    - std::function<bool(const ::google::api::MetricDescriptor&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::LogsMetricsLoader
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void LogsMetricsLoader(std::function<bool(const ::google::api::LabelDescriptor&)>\n
      \                       label_supported,\n                    std::function<bool(const
      ::google::api::MetricDescriptor&)>\n                        metric_supported)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - label_supported
    - metric_supported
    argTypes:
    - std::function<bool(const ::google::api::LabelDescriptor&)>
    - std::function<bool(const ::google::api::MetricDescriptor&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::LogsMetricsLoader
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void LogsMetricsLoader(std::function<bool(const ::google::api::LabelDescriptor&)>\n
      \                       label_supported,\n                    std::function<bool(const
      ::google::api::MetricDescriptor&)>\n                        metric_supported)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - label_supported
    - metric_supported
    argTypes:
    - std::function<bool(const ::google::api::LabelDescriptor&)>
    - std::function<bool(const ::google::api::MetricDescriptor&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::LogsMetricsLoader
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void LogsMetricsLoader(std::function<bool(const ::google::api::LabelDescriptor&)>\n
      \                       label_supported,\n                    std::function<bool(const
      ::google::api::MetricDescriptor&)>\n                        metric_supported)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - label_supported
    - metric_supported
    argTypes:
    - std::function<bool(const ::google::api::LabelDescriptor&)>
    - std::function<bool(const ::google::api::MetricDescriptor&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::LogsMetricsLoader
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void LogsMetricsLoader(std::function<bool(const ::google::api::LabelDescriptor&)>\n
      \                       label_supported,\n                    std::function<bool(const
      ::google::api::MetricDescriptor&)>\n                        metric_supported)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - label_supported
    - metric_supported
    argTypes:
    - std::function<bool(const ::google::api::LabelDescriptor&)>
    - std::function<bool(const ::google::api::MetricDescriptor&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::LogsMetricsLoader
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void LogsMetricsLoader(std::function<bool(const ::google::api::LabelDescriptor&)>\n
      \                       label_supported,\n                    std::function<bool(const
      ::google::api::MetricDescriptor&)>\n                        metric_supported)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - label_supported
    - metric_supported
    argTypes:
    - std::function<bool(const ::google::api::LabelDescriptor&)>
    - std::function<bool(const ::google::api::MetricDescriptor&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::LogsMetricsLoader
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void LogsMetricsLoader(std::function<bool(const ::google::api::LabelDescriptor&)>\n
      \                       label_supported,\n                    std::function<bool(const
      ::google::api::MetricDescriptor&)>\n                        metric_supported)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - label_supported
    - metric_supported
    argTypes:
    - std::function<bool(const ::google::api::LabelDescriptor&)>
    - std::function<bool(const ::google::api::MetricDescriptor&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::LogsMetricsLoader
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void LogsMetricsLoader(std::function<bool(const ::google::api::LabelDescriptor&)>\n
      \                       label_supported,\n                    std::function<bool(const
      ::google::api::MetricDescriptor&)>\n                        metric_supported)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - label_supported
    - metric_supported
    argTypes:
    - std::function<bool(const ::google::api::LabelDescriptor&)>
    - std::function<bool(const ::google::api::MetricDescriptor&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::api_proxy::service_control::LogsMetricsLoader::LogsMetricsLoader
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void LogsMetricsLoader(std::function<bool(const ::google::api::LabelDescriptor&)>\n
      \                       label_supported,\n                    std::function<bool(const
      ::google::api::MetricDescriptor&)>\n                        metric_supported)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Operation*::add_metric_value_sets
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:90,1
    - Dst: MetricValueSet*::set_metric_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:91,1
    - Dst: MetricValueSet*::add_metric_values
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - metric_name
    - operation
    argTypes:
    - char*
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: espv2::api_proxy::service_control::AddMetricValue
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - MetricValueSet*::set_metric_name
    - Operation*::add_metric_value_sets
    - MetricValueSet*::add_metric_values
    linkageType: ''
    returnType: MetricValue
    signature: MetricValue * AddMetricValue(const char* metric_name, Operation* operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:97,1
    - Dst: MetricValue*::set_int64_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - metric_name
    - value
    - operation
    argTypes:
    - char*
    - int64_t
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: espv2::api_proxy::service_control::AddInt64Metric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::AddMetricValue
    - MetricValue*::set_int64_value
    linkageType: ''
    returnType: void
    signature: "void AddInt64Metric(const char* metric_name, int64_t value,\n                    Operation*
      operation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:115,1
    - Dst: DistributionHelper::InitExponential
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:117,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:119,1
    - Dst: DistributionHelper::AddSample
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:120,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:121,1
    - Dst: MetricValue*::mutable_distribution_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:122,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' options'
    - metric_name
    - value
    - operation
    argTypes:
    - DistributionHelperOptions
    - char*
    - double
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::AddDistributionMetric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - DistributionHelper::InitExponential
    - espv2::api_proxy::service_control::AddMetricValue
    - OkStatus
    - MetricValue*::mutable_distribution_value
    - Status::ok
    - DistributionHelper::AddSample
    linkageType: ''
    returnType: Status
    signature: "Status AddDistributionMetric(const DistributionHelperOptions& options,\n
      \                            const char* metric_name, double value,\n                             Operation*
      operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddInt64Metric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:131,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' m'
    - operation
    argTypes:
    - SupportedMetric
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::set_int64_metric_to_constant_1
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddInt64Metric
    linkageType: ''
    returnType: Status
    signature: "Status set_int64_metric_to_constant_1(const SupportedMetric& m,\n
      \                                     const ReportRequestInfo&,\n                                      Operation*
      operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:139,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_size(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:149,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_response_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_response_size(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:161,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:172,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_backend_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:183,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_overhead_time(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: espv2::api_proxy::service_control::get_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: std::string
    signature: std::string get_service_agent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:367,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:368,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:369,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: espv2::api_proxy::service_control::get_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - grpc_response_code::value
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - grpc_response_code::has_value
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_status_code(const ReportRequestInfo& info)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:388,1
    - Dst: check_response_info::api_key_uid::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:394,1
    - Dst: auth_issuer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:396,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:397,1
    - Dst: auth_issuer::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: auth_issuer::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:399,1
    - Dst: auth_audience::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:401,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:402,1
    - Dst: auth_audience::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: auth_audience::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:404,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 409
    functionName: espv2::api_proxy::service_control::set_credential_id
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - auth_issuer::size
    - auth_issuer::empty
    - auth_audience::empty
    - absl::StrAppend
    - absl::StrCat
    - ASSERT
    - auth_issuer::data
    - auth_audience::data
    - Envoy::Base64Url::encode
    - auth_audience::size
    - OkStatus
    - api_key::empty
    - check_response_info::api_key_uid::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_credential_id(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:417,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 425
    functionName: espv2::api_proxy::service_control::set_error_type
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_error_type(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:430,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: espv2::api_proxy::service_control::set_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_protocol(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: espv2::api_proxy::service_control::set_backend_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_backend_protocol(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: espv2::api_proxy::service_control::set_consumer_project
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_consumer_project(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:457,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: espv2::api_proxy::service_control::set_referer
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - referer::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_referer(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                   Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:467,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:468,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 471
    functionName: espv2::api_proxy::service_control::set_response_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - snprintf
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:477,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: espv2::api_proxy::service_control::set_response_code_class
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code_class(const SupportedLabel& l,\n                               const
      ReportRequestInfo& info,\n                               Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: status::code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 488
    functionName: espv2::api_proxy::service_control::set_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - status::code
    - snprintf
    linkageType: ''
    returnType: Status
    signature: "Status set_status_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:493,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: espv2::api_proxy::service_control::set_location
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - location::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_location(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:505,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: espv2::api_proxy::service_control::set_api_method
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_method::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_method(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:514,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: espv2::api_proxy::service_control::set_api_version
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_version::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_version(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: espv2::api_proxy::service_control::set_platform
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_platform(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:530,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: espv2::api_proxy::service_control::set_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_service_agent
    linkageType: ''
    returnType: Status
    signature: "Status set_service_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                        Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: espv2::api_proxy::service_control::set_user_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_user_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                     Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:793,1
    - Dst: std::chrono::system_clock::time_point::time_since_epoch
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:794,1
    - Dst: Timestamp::set_seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:797,1
    - Dst: Timestamp::set_nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tp
    argTypes:
    - std::chrono::system_clock::time_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 800
    functionName: espv2::api_proxy::service_control::CreateTimestamp
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - Timestamp::set_nanos
    - Timestamp::set_seconds
    - std::chrono::system_clock::time_point::time_since_epoch
    linkageType: ''
    returnType: Timestamp
    signature: Timestamp CreateTimestamp(std::chrono::system_clock::time_point tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:803,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:804,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:806,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:807,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 810
    functionName: espv2::api_proxy::service_control::VerifyRequiredCheckFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_id::empty
    - operation_name::empty
    - Status
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredCheckFields(const OperationInfo& info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 812
    functionName: espv2::api_proxy::service_control::VerifyRequiredReportFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredReportFields(const OperationInfo&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:816,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:817,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:819,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:820,1
    - Dst: Operation*::mutable_start_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:822,1
    - Dst: Operation*::mutable_end_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' info'
    - ' current_time'
    - op
    argTypes:
    - OperationInfo
    - Timestamp
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 824
    functionName: espv2::api_proxy::service_control::SetOperationCommonFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_name::empty
    - operation_id::empty
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - Operation*::mutable_start_time
    - Operation*::mutable_end_time
    linkageType: ''
    returnType: void
    signature: "void SetOperationCommonFields(const OperationInfo& info,\n                              const
      Timestamp& current_time, Operation* op)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - trace_id
    - project_id
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 829
    functionName: espv2::api_proxy::service_control::TraceResourceName
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: std::string
    signature: "std::string TraceResourceName(absl::string_view trace_id,\n                              absl::string_view
      project_id)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: LogEntry*::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:834,1
    - Dst: LogEntry*::mutable_timestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:835,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:836,1
    - Dst: LogEntry*::set_severity
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:838,1
    - Dst: trace_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:841,1
    - Dst: tracing_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:842,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:843,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:844,1
    - Dst: gcp_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:845,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:846,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:847,1
    - Dst: LogEntry*::mutable_http_request
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:852,1
    - Dst: auto*::set_protocol
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: auto*::set_status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:855,1
    - Dst: auto*::set_request_method
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:856,1
    - Dst: url::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:858,1
    - Dst: auto*::set_request_url
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:859,1
    - Dst: auto*::set_request_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:862,1
    - Dst: auto*::set_response_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:865,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:867,1
    - Dst: auto*::set_remote_ip
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:868,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:870,1
    - Dst: auto*::set_referer
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:871,1
    - Dst: google::protobuf::util::TimeUtil::MillisecondsToDuration
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:875,1
    - Dst: auto*::mutable_latency
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:877,1
    - Dst: LogEntry*::mutable_struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:881,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:882,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:885,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:886,1
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:887,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:889,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:890,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:891,1
    - Dst: response_code_detail::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:894,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:895,1
    - Dst: producer_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:899,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:900,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:903,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:904,1
    - Dst: api_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:906,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:907,1
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:909,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:910,1
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:912,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:913,1
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:915,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:916,1
    - Dst: log_message::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:918,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:919,1
    - Dst: request_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:921,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:922,1
    - Dst: response_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:925,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:926,1
    - Dst: jwt_payloads::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:929,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:930,1
    - Dst: status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:936,1
    - Dst: Envoy::Grpc::Utility::grpcStatusToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:938,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:939,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:940,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:941,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 79
    argCount: 5
    argNames:
    - ' info'
    - ' name'
    - ' config_id'
    - ' current_time'
    - log_entry
    argTypes:
    - ReportRequestInfo
    - std::string
    - std::string
    - Timestamp
    - LogEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 943
    functionName: espv2::api_proxy::service_control::FillLogEntry
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::util::TimeUtil::MillisecondsToDuration
    - espv2::api_proxy::service_control::protocol::ToString
    - auto*::set_referer
    - Envoy::Grpc::Utility::grpcStatusToString
    - producer_project_id::empty
    - espv2::api_proxy::service_control::TraceResourceName
    - auto*::set_remote_ip
    - LogEntry*::set_name
    - client_ip::empty
    - api_version::empty
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - api_method::empty
    - trace_id::empty
    - response_headers::empty
    - LogEntry*::mutable_timestamp
    - auto*::set_status
    - LogEntry*::set_severity
    - grpc_response_code::has_value
    - log_message::empty
    - api_key::empty
    - set_string_value
    - api_name::empty
    - auto*::set_response_size
    - seconds
    - utils::Version::instance
    - auto*::set_protocol
    - LogEntry*::set_trace
    - tracing_project_id::empty
    - auto*::mutable_latency
    - nanos
    - request_headers::empty
    - url::empty
    - LogEntry*::mutable_http_request
    - status::message
    - referer::empty
    - location::empty
    - method::empty
    - gcp_project_id::empty
    - response_code_detail::empty
    - status::ok
    - auto*::set_request_method
    - grpc_response_code::value
    - LogEntry*::mutable_struct_payload
    - espv2::api_proxy::service_control::get_status_code
    - auto*::set_request_size
    - auto*::set_request_url
    - espv2::api_proxy::service_control::api_key::ToString
    - jwt_payloads::empty
    - set_number_value
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void FillLogEntry(const ReportRequestInfo& info, const std::string&
      name,\n                  const std::string& config_id, const Timestamp& current_time,\n
      \                 LogEntry* log_entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pred
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:951,1
    - Dst: std::vector::push_back
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - first
    - last
    - pred
    argTypes:
    - Element*
    - Element*
    - std::function<bool(const Element*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 957
    functionName: espv2::api_proxy::service_control::FilterPointers
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - pred
    linkageType: ''
    returnType: std::vector<const Element*>
    signature: "std::vector<const Element*> FilterPointers(\n    const Element* first,
      const Element* last,\n    std::function<bool(const Element*)> pred)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Operation*::add_metric_value_sets
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:90,1
    - Dst: MetricValueSet*::set_metric_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:91,1
    - Dst: MetricValueSet*::add_metric_values
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - metric_name
    - operation
    argTypes:
    - char*
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: espv2::api_proxy::service_control::AddMetricValue
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 2
    functionsReached:
    - MetricValueSet*::set_metric_name
    - Operation*::add_metric_value_sets
    - MetricValueSet*::add_metric_values
    linkageType: ''
    returnType: MetricValue
    signature: MetricValue * AddMetricValue(const char* metric_name, Operation* operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:97,1
    - Dst: MetricValue*::set_int64_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - metric_name
    - value
    - operation
    argTypes:
    - char*
    - int64_t
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: espv2::api_proxy::service_control::AddInt64Metric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 1
    functionsReached:
    - espv2::api_proxy::service_control::AddMetricValue
    - MetricValue*::set_int64_value
    linkageType: ''
    returnType: void
    signature: "void AddInt64Metric(const char* metric_name, int64_t value,\n                    Operation*
      operation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:115,1
    - Dst: DistributionHelper::InitExponential
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:117,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:119,1
    - Dst: DistributionHelper::AddSample
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:120,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:121,1
    - Dst: MetricValue*::mutable_distribution_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:122,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' options'
    - metric_name
    - value
    - operation
    argTypes:
    - DistributionHelperOptions
    - char*
    - double
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::AddDistributionMetric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 5
    functionsReached:
    - DistributionHelper::InitExponential
    - espv2::api_proxy::service_control::AddMetricValue
    - OkStatus
    - MetricValue*::mutable_distribution_value
    - Status::ok
    - DistributionHelper::AddSample
    linkageType: ''
    returnType: Status
    signature: "Status AddDistributionMetric(const DistributionHelperOptions& options,\n
      \                            const char* metric_name, double value,\n                             Operation*
      operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddInt64Metric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:131,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' m'
    - operation
    argTypes:
    - SupportedMetric
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::set_int64_metric_to_constant_1
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddInt64Metric
    linkageType: ''
    returnType: Status
    signature: "Status set_int64_metric_to_constant_1(const SupportedMetric& m,\n
      \                                     const ReportRequestInfo&,\n                                      Operation*
      operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:139,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_size(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:149,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_response_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_response_size(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:161,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:172,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_backend_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:183,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_overhead_time(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: espv2::api_proxy::service_control::get_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 1
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: std::string
    signature: std::string get_service_agent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:367,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:368,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:369,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: espv2::api_proxy::service_control::get_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 4
    functionsReached:
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - grpc_response_code::value
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - grpc_response_code::has_value
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_status_code(const ReportRequestInfo& info)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:388,1
    - Dst: check_response_info::api_key_uid::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:394,1
    - Dst: auth_issuer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:396,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:397,1
    - Dst: auth_issuer::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: auth_issuer::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:399,1
    - Dst: auth_audience::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:401,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:402,1
    - Dst: auth_audience::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: auth_audience::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:404,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 409
    functionName: espv2::api_proxy::service_control::set_credential_id
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - auth_issuer::size
    - auth_issuer::empty
    - auth_audience::empty
    - absl::StrAppend
    - absl::StrCat
    - ASSERT
    - auth_issuer::data
    - auth_audience::data
    - Envoy::Base64Url::encode
    - auth_audience::size
    - OkStatus
    - api_key::empty
    - check_response_info::api_key_uid::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_credential_id(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:417,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 425
    functionName: espv2::api_proxy::service_control::set_error_type
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_error_type(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:430,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: espv2::api_proxy::service_control::set_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_protocol(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: espv2::api_proxy::service_control::set_backend_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_backend_protocol(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: espv2::api_proxy::service_control::set_consumer_project
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_consumer_project(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:457,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: espv2::api_proxy::service_control::set_referer
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - referer::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_referer(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                   Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:467,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:468,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 471
    functionName: espv2::api_proxy::service_control::set_response_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - snprintf
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:477,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: espv2::api_proxy::service_control::set_response_code_class
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code_class(const SupportedLabel& l,\n                               const
      ReportRequestInfo& info,\n                               Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: status::code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 488
    functionName: espv2::api_proxy::service_control::set_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - status::code
    - snprintf
    linkageType: ''
    returnType: Status
    signature: "Status set_status_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:493,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: espv2::api_proxy::service_control::set_location
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - location::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_location(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:505,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: espv2::api_proxy::service_control::set_api_method
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_method::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_method(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:514,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: espv2::api_proxy::service_control::set_api_version
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_version::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_version(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: espv2::api_proxy::service_control::set_platform
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_platform(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:530,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: espv2::api_proxy::service_control::set_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_service_agent
    linkageType: ''
    returnType: Status
    signature: "Status set_service_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                        Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: espv2::api_proxy::service_control::set_user_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_user_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                     Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:793,1
    - Dst: std::chrono::system_clock::time_point::time_since_epoch
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:794,1
    - Dst: Timestamp::set_seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:797,1
    - Dst: Timestamp::set_nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tp
    argTypes:
    - std::chrono::system_clock::time_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 800
    functionName: espv2::api_proxy::service_control::CreateTimestamp
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - Timestamp::set_nanos
    - Timestamp::set_seconds
    - std::chrono::system_clock::time_point::time_since_epoch
    linkageType: ''
    returnType: Timestamp
    signature: Timestamp CreateTimestamp(std::chrono::system_clock::time_point tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:803,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:804,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:806,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:807,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 810
    functionName: espv2::api_proxy::service_control::VerifyRequiredCheckFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_id::empty
    - operation_name::empty
    - Status
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredCheckFields(const OperationInfo& info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 812
    functionName: espv2::api_proxy::service_control::VerifyRequiredReportFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredReportFields(const OperationInfo&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:816,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:817,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:819,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:820,1
    - Dst: Operation*::mutable_start_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:822,1
    - Dst: Operation*::mutable_end_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' info'
    - ' current_time'
    - op
    argTypes:
    - OperationInfo
    - Timestamp
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 824
    functionName: espv2::api_proxy::service_control::SetOperationCommonFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_name::empty
    - operation_id::empty
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - Operation*::mutable_start_time
    - Operation*::mutable_end_time
    linkageType: ''
    returnType: void
    signature: "void SetOperationCommonFields(const OperationInfo& info,\n                              const
      Timestamp& current_time, Operation* op)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - trace_id
    - project_id
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 829
    functionName: espv2::api_proxy::service_control::TraceResourceName
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 1
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: std::string
    signature: "std::string TraceResourceName(absl::string_view trace_id,\n                              absl::string_view
      project_id)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: LogEntry*::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:834,1
    - Dst: LogEntry*::mutable_timestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:835,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:836,1
    - Dst: LogEntry*::set_severity
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:838,1
    - Dst: trace_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:841,1
    - Dst: tracing_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:842,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:843,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:844,1
    - Dst: gcp_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:845,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:846,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:847,1
    - Dst: LogEntry*::mutable_http_request
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:852,1
    - Dst: auto*::set_protocol
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: auto*::set_status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:855,1
    - Dst: auto*::set_request_method
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:856,1
    - Dst: url::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:858,1
    - Dst: auto*::set_request_url
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:859,1
    - Dst: auto*::set_request_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:862,1
    - Dst: auto*::set_response_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:865,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:867,1
    - Dst: auto*::set_remote_ip
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:868,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:870,1
    - Dst: auto*::set_referer
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:871,1
    - Dst: google::protobuf::util::TimeUtil::MillisecondsToDuration
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:875,1
    - Dst: auto*::mutable_latency
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:877,1
    - Dst: LogEntry*::mutable_struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:881,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:882,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:885,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:886,1
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:887,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:889,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:890,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:891,1
    - Dst: response_code_detail::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:894,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:895,1
    - Dst: producer_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:899,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:900,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:903,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:904,1
    - Dst: api_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:906,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:907,1
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:909,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:910,1
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:912,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:913,1
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:915,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:916,1
    - Dst: log_message::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:918,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:919,1
    - Dst: request_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:921,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:922,1
    - Dst: response_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:925,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:926,1
    - Dst: jwt_payloads::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:929,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:930,1
    - Dst: status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:936,1
    - Dst: Envoy::Grpc::Utility::grpcStatusToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:938,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:939,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:940,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:941,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 79
    argCount: 5
    argNames:
    - ' info'
    - ' name'
    - ' config_id'
    - ' current_time'
    - log_entry
    argTypes:
    - ReportRequestInfo
    - std::string
    - std::string
    - Timestamp
    - LogEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 943
    functionName: espv2::api_proxy::service_control::FillLogEntry
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::util::TimeUtil::MillisecondsToDuration
    - espv2::api_proxy::service_control::protocol::ToString
    - auto*::set_referer
    - Envoy::Grpc::Utility::grpcStatusToString
    - producer_project_id::empty
    - espv2::api_proxy::service_control::TraceResourceName
    - auto*::set_remote_ip
    - LogEntry*::set_name
    - client_ip::empty
    - api_version::empty
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - api_method::empty
    - trace_id::empty
    - response_headers::empty
    - LogEntry*::mutable_timestamp
    - auto*::set_status
    - LogEntry*::set_severity
    - grpc_response_code::has_value
    - log_message::empty
    - api_key::empty
    - set_string_value
    - api_name::empty
    - auto*::set_response_size
    - seconds
    - utils::Version::instance
    - auto*::set_protocol
    - LogEntry*::set_trace
    - tracing_project_id::empty
    - auto*::mutable_latency
    - nanos
    - request_headers::empty
    - url::empty
    - LogEntry*::mutable_http_request
    - status::message
    - referer::empty
    - location::empty
    - method::empty
    - gcp_project_id::empty
    - response_code_detail::empty
    - status::ok
    - auto*::set_request_method
    - grpc_response_code::value
    - LogEntry*::mutable_struct_payload
    - espv2::api_proxy::service_control::get_status_code
    - auto*::set_request_size
    - auto*::set_request_url
    - espv2::api_proxy::service_control::api_key::ToString
    - jwt_payloads::empty
    - set_number_value
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void FillLogEntry(const ReportRequestInfo& info, const std::string&
      name,\n                  const std::string& config_id, const Timestamp& current_time,\n
      \                 LogEntry* log_entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pred
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:951,1
    - Dst: std::vector::push_back
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - first
    - last
    - pred
    argTypes:
    - Element*
    - Element*
    - std::function<bool(const Element*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 957
    functionName: espv2::api_proxy::service_control::FilterPointers
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - pred
    linkageType: ''
    returnType: std::vector<const Element*>
    signature: "std::vector<const Element*> FilterPointers(\n    const Element* first,
      const Element* last,\n    std::function<bool(const Element*)> pred)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:964,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:964,1
    - Dst: FilterPointers<SupportedMetric>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:965,1
    - Dst: FilterPointers<SupportedLabel>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' logs'
    - ' service_name'
    - ' service_config_id'
    argTypes:
    - std::set<std::string>
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 972
    functionName: espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - FilterPointers<SupportedLabel>
    - begin
    - FilterPointers<SupportedMetric>
    - end
    linkageType: ''
    returnType: void
    signature: "void RequestBuilder::RequestBuilder(const std::set<std::string>& logs,\n
      \                              const std::string& service_name,\n                               const
      std::string& service_config_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:979,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:979,1
    - Dst: FilterPointers<SupportedMetric>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:980,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:983,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:983,1
    - Dst: FilterPointers<SupportedLabel>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:985,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:989,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:989,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - ' logs'
    - ' metrics'
    - ' labels'
    - ' service_name'
    - ' service_config_id'
    argTypes:
    - std::set<std::string>
    - std::set<std::string>
    - std::set<std::string>
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 992
    functionName: espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - FilterPointers<SupportedMetric>
    - FilterPointers<SupportedLabel>
    - begin
    - find
    - end
    linkageType: ''
    returnType: void
    signature: "void RequestBuilder::RequestBuilder(const std::set<std::string>& logs,\n
      \                              const std::set<std::string>& metrics,\n                               const
      std::set<std::string>& labels,\n                               const std::string&
      service_name,\n                               const std::string& service_config_id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest*::mutable_allocate_operation
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:998,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1001,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_config_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1003,1
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1006,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1007,1
    - Dst: method_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1010,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_method_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1011,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1014,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1016,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1016,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1017,1
    - Dst: producer_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1018,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1019,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1019,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1020,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_quota_mode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1024,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1029,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1030,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1034,1
    - Dst: get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1038,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::add_quota_metrics
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1041,1
    - Dst: MetricValueSet*::set_metric_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1042,1
    - Dst: MetricValueSet*::add_metric_values
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1043,1
    - Dst: MetricValue*::set_int64_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1045,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1048,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - ' info'
    - request
    argTypes:
    - QuotaRequestInfo
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1049
    functionName: espv2::api_proxy::service_control::RequestBuilder::FillAllocateQuotaRequest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_name
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_quota_mode
    - producer_project_id::empty
    - get_service_agent
    - client_ip::empty
    - method_name::empty
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_config_id
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_method_name
    - api_key::empty
    - ::google::api::servicecontrol::v1::QuotaOperation*::add_quota_metrics
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_consumer_id
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*::mutable_allocate_operation
    - operation_id::empty
    - MetricValueSet*::set_metric_name
    - referer::empty
    - MetricValueSet*::add_metric_values
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_operation_id
    - MetricValue*::set_int64_value
    - ::google::api::servicecontrol::v1::QuotaOperation*::mutable_labels
    - OkStatus
    - std::string
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::FillAllocateQuotaRequest(\n    const QuotaRequestInfo&
      info,\n    ::google::api::servicecontrol::v1::AllocateQuotaRequest* request)
      const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VerifyRequiredCheckFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1053,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1054,1
    - Dst: CheckRequest*::set_service_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1057,1
    - Dst: CheckRequest*::set_service_config_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1058,1
    - Dst: CreateTimestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1060,1
    - Dst: CheckRequest*::mutable_operation
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1061,1
    - Dst: SetOperationCommonFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1062,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1063,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1065,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1065,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1066,1
    - Dst: Operation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1069,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1070,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1073,1
    - Dst: get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1077,1
    - Dst: android_package_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1079,1
    - Dst: android_cert_fingerprint::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1082,1
    - Dst: ios_bundle_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1086,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1090,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - ' info'
    - request
    argTypes:
    - CheckRequestInfo
    - CheckRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1091
    functionName: espv2::api_proxy::service_control::RequestBuilder::FillCheckRequest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - android_cert_fingerprint::empty
    - OkStatus
    - CreateTimestamp
    - Operation*::mutable_labels
    - api_key::empty
    - ios_bundle_id::empty
    - referer::empty
    - CheckRequest*::mutable_operation
    - CheckRequest*::set_service_name
    - VerifyRequiredCheckFields
    - CheckRequest*::set_service_config_id
    - SetOperationCommonFields
    - Status::ok
    - client_ip::empty
    - get_service_agent
    - std::string
    - android_package_name::empty
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::FillCheckRequest(const CheckRequestInfo& info,\n
      \                                       CheckRequest* request) const"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VerifyRequiredReportFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1095,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1096,1
    - Dst: ReportRequest*::set_service_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1099,1
    - Dst: ReportRequest*::set_service_config_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1100,1
    - Dst: CreateTimestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1102,1
    - Dst: ReportRequest*::add_operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1103,1
    - Dst: SetOperationCommonFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1104,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1107,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1107,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1109,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1109,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1110,1
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1114,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1114,1
    - Dst: Operation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1115,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1117,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1117,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1121,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1131,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1131,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1136,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1143,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1143,1
    - Dst: FillLogEntry
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1144,1
    - Dst: Operation*::add_log_entries
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1145,1
    - Dst: check_response_info::consumer_project_number::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1148,1
    - Dst: espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1149,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1152,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 2
    argNames:
    - ' info'
    - request
    argTypes:
    - ReportRequestInfo
    - ReportRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1153
    functionName: espv2::api_proxy::service_control::RequestBuilder::FillReportRequest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
    - ASSERT
    - CreateTimestamp
    - Operation*::mutable_labels
    - Status::ok
    - FillLogEntry
    - operation_name::empty
    - check_response_info::consumer_project_number::empty
    - api_key::empty
    - ReportRequest*::add_operations
    - Operation*::set_consumer_id
    - operation_id::empty
    - VerifyRequiredReportFields
    - begin
    - SetOperationCommonFields
    - end
    - ReportRequest*::set_service_config_id
    - ReportRequest*::set_service_name
    - OkStatus
    - std::string
    - Operation*::add_log_entries
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::FillReportRequest(const ReportRequestInfo&
      info,\n                                         ReportRequest* request) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::google::api::servicecontrol::v1::ReportRequest*::add_operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1159,1
    - Dst: SetOperationCommonFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1160,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1163,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1163,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1165,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1165,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1166,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1169,1
    - Dst: Operation*::operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1169,1
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1172,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1172,1
    - Dst: Operation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1173,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1175,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1175,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1179,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1184,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1184,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1188,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - ' info'
    - request
    - current_time
    argTypes:
    - ReportRequestInfo
    - ::google::api::servicecontrol::v1::ReportRequest*
    - Timestamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1194
    functionName: espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 1
    functionsReached:
    - SetOperationCommonFields
    - Operation*::set_consumer_id
    - operation_name::empty
    - Operation*::operation_id
    - ASSERT
    - Operation*::mutable_labels
    - Operation*::set_operation_id
    - operation_id::empty
    - begin
    - Status::ok
    - OkStatus
    - ::google::api::servicecontrol::v1::ReportRequest*::add_operations
    - api_key::empty
    - std::string
    - end
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::AppendByConsumerOperations(\n    const ReportRequestInfo&
      info,\n    ::google::api::servicecontrol::v1::ReportRequest* request,\n    Timestamp
      current_time) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1200,1
    - Dst: metric_kind
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1200,1
    - Dst: value_type
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ' metric'
    argTypes:
    - ::google::api::MetricDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1206
    functionName: espv2::api_proxy::service_control::RequestBuilder::IsMetricSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - value_type
    - metric_kind
    - name
    linkageType: ''
    returnType: bool
    signature: "bool RequestBuilder::IsMetricSupported(\n    const ::google::api::MetricDescriptor&
      metric)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1212,1
    - Dst: value_type
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - ::google::api::LabelDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1217
    functionName: espv2::api_proxy::service_control::RequestBuilder::IsLabelSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - value_type
    - key
    linkageType: ''
    returnType: bool
    signature: "bool RequestBuilder::IsLabelSupported(\n    const ::google::api::LabelDescriptor&
      label)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Operation*::add_metric_value_sets
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:90,1
    - Dst: MetricValueSet*::set_metric_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:91,1
    - Dst: MetricValueSet*::add_metric_values
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - metric_name
    - operation
    argTypes:
    - char*
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: espv2::api_proxy::service_control::AddMetricValue
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 4
    functionsReached:
    - MetricValueSet*::set_metric_name
    - Operation*::add_metric_value_sets
    - MetricValueSet*::add_metric_values
    linkageType: ''
    returnType: MetricValue
    signature: MetricValue * AddMetricValue(const char* metric_name, Operation* operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:97,1
    - Dst: MetricValue*::set_int64_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - metric_name
    - value
    - operation
    argTypes:
    - char*
    - int64_t
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: espv2::api_proxy::service_control::AddInt64Metric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 2
    functionsReached:
    - espv2::api_proxy::service_control::AddMetricValue
    - MetricValue*::set_int64_value
    linkageType: ''
    returnType: void
    signature: "void AddInt64Metric(const char* metric_name, int64_t value,\n                    Operation*
      operation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:115,1
    - Dst: DistributionHelper::InitExponential
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:117,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:119,1
    - Dst: DistributionHelper::AddSample
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:120,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:121,1
    - Dst: MetricValue*::mutable_distribution_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:122,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' options'
    - metric_name
    - value
    - operation
    argTypes:
    - DistributionHelperOptions
    - char*
    - double
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::AddDistributionMetric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 10
    functionsReached:
    - DistributionHelper::InitExponential
    - espv2::api_proxy::service_control::AddMetricValue
    - OkStatus
    - MetricValue*::mutable_distribution_value
    - Status::ok
    - DistributionHelper::AddSample
    linkageType: ''
    returnType: Status
    signature: "Status AddDistributionMetric(const DistributionHelperOptions& options,\n
      \                            const char* metric_name, double value,\n                             Operation*
      operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddInt64Metric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:131,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' m'
    - operation
    argTypes:
    - SupportedMetric
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::set_int64_metric_to_constant_1
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddInt64Metric
    linkageType: ''
    returnType: Status
    signature: "Status set_int64_metric_to_constant_1(const SupportedMetric& m,\n
      \                                     const ReportRequestInfo&,\n                                      Operation*
      operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:139,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_size(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:149,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_response_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_response_size(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:161,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:172,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_backend_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:183,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_overhead_time(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: espv2::api_proxy::service_control::get_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 2
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: std::string
    signature: std::string get_service_agent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:367,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:368,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:369,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: espv2::api_proxy::service_control::get_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 8
    functionsReached:
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - grpc_response_code::value
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - grpc_response_code::has_value
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_status_code(const ReportRequestInfo& info)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:388,1
    - Dst: check_response_info::api_key_uid::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:394,1
    - Dst: auth_issuer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:396,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:397,1
    - Dst: auth_issuer::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: auth_issuer::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:399,1
    - Dst: auth_audience::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:401,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:402,1
    - Dst: auth_audience::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: auth_audience::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:404,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 409
    functionName: espv2::api_proxy::service_control::set_credential_id
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - auth_issuer::size
    - auth_issuer::empty
    - auth_audience::empty
    - absl::StrAppend
    - absl::StrCat
    - ASSERT
    - auth_issuer::data
    - auth_audience::data
    - Envoy::Base64Url::encode
    - auth_audience::size
    - OkStatus
    - api_key::empty
    - check_response_info::api_key_uid::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_credential_id(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:417,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 425
    functionName: espv2::api_proxy::service_control::set_error_type
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_error_type(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:430,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: espv2::api_proxy::service_control::set_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_protocol(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: espv2::api_proxy::service_control::set_backend_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_backend_protocol(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: espv2::api_proxy::service_control::set_consumer_project
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_consumer_project(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:457,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: espv2::api_proxy::service_control::set_referer
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - referer::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_referer(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                   Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:467,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:468,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 471
    functionName: espv2::api_proxy::service_control::set_response_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - snprintf
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:477,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: espv2::api_proxy::service_control::set_response_code_class
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code_class(const SupportedLabel& l,\n                               const
      ReportRequestInfo& info,\n                               Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: status::code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 488
    functionName: espv2::api_proxy::service_control::set_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - status::code
    - snprintf
    linkageType: ''
    returnType: Status
    signature: "Status set_status_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:493,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: espv2::api_proxy::service_control::set_location
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - location::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_location(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:505,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: espv2::api_proxy::service_control::set_api_method
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_method::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_method(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:514,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: espv2::api_proxy::service_control::set_api_version
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_version::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_version(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: espv2::api_proxy::service_control::set_platform
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_platform(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:530,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: espv2::api_proxy::service_control::set_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_service_agent
    linkageType: ''
    returnType: Status
    signature: "Status set_service_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                        Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: espv2::api_proxy::service_control::set_user_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_user_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                     Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:793,1
    - Dst: std::chrono::system_clock::time_point::time_since_epoch
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:794,1
    - Dst: Timestamp::set_seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:797,1
    - Dst: Timestamp::set_nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tp
    argTypes:
    - std::chrono::system_clock::time_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 800
    functionName: espv2::api_proxy::service_control::CreateTimestamp
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - Timestamp::set_nanos
    - Timestamp::set_seconds
    - std::chrono::system_clock::time_point::time_since_epoch
    linkageType: ''
    returnType: Timestamp
    signature: Timestamp CreateTimestamp(std::chrono::system_clock::time_point tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:803,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:804,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:806,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:807,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 810
    functionName: espv2::api_proxy::service_control::VerifyRequiredCheckFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_id::empty
    - operation_name::empty
    - Status
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredCheckFields(const OperationInfo& info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 812
    functionName: espv2::api_proxy::service_control::VerifyRequiredReportFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredReportFields(const OperationInfo&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:816,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:817,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:819,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:820,1
    - Dst: Operation*::mutable_start_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:822,1
    - Dst: Operation*::mutable_end_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' info'
    - ' current_time'
    - op
    argTypes:
    - OperationInfo
    - Timestamp
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 824
    functionName: espv2::api_proxy::service_control::SetOperationCommonFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_name::empty
    - operation_id::empty
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - Operation*::mutable_start_time
    - Operation*::mutable_end_time
    linkageType: ''
    returnType: void
    signature: "void SetOperationCommonFields(const OperationInfo& info,\n                              const
      Timestamp& current_time, Operation* op)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - trace_id
    - project_id
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 829
    functionName: espv2::api_proxy::service_control::TraceResourceName
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 2
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: std::string
    signature: "std::string TraceResourceName(absl::string_view trace_id,\n                              absl::string_view
      project_id)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: LogEntry*::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:834,1
    - Dst: LogEntry*::mutable_timestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:835,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:836,1
    - Dst: LogEntry*::set_severity
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:838,1
    - Dst: trace_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:841,1
    - Dst: tracing_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:842,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:843,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:844,1
    - Dst: gcp_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:845,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:846,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:847,1
    - Dst: LogEntry*::mutable_http_request
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:852,1
    - Dst: auto*::set_protocol
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: auto*::set_status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:855,1
    - Dst: auto*::set_request_method
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:856,1
    - Dst: url::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:858,1
    - Dst: auto*::set_request_url
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:859,1
    - Dst: auto*::set_request_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:862,1
    - Dst: auto*::set_response_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:865,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:867,1
    - Dst: auto*::set_remote_ip
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:868,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:870,1
    - Dst: auto*::set_referer
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:871,1
    - Dst: google::protobuf::util::TimeUtil::MillisecondsToDuration
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:875,1
    - Dst: auto*::mutable_latency
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:877,1
    - Dst: LogEntry*::mutable_struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:881,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:882,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:885,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:886,1
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:887,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:889,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:890,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:891,1
    - Dst: response_code_detail::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:894,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:895,1
    - Dst: producer_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:899,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:900,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:903,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:904,1
    - Dst: api_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:906,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:907,1
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:909,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:910,1
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:912,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:913,1
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:915,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:916,1
    - Dst: log_message::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:918,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:919,1
    - Dst: request_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:921,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:922,1
    - Dst: response_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:925,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:926,1
    - Dst: jwt_payloads::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:929,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:930,1
    - Dst: status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:936,1
    - Dst: Envoy::Grpc::Utility::grpcStatusToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:938,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:939,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:940,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:941,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 79
    argCount: 5
    argNames:
    - ' info'
    - ' name'
    - ' config_id'
    - ' current_time'
    - log_entry
    argTypes:
    - ReportRequestInfo
    - std::string
    - std::string
    - Timestamp
    - LogEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 943
    functionName: espv2::api_proxy::service_control::FillLogEntry
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::util::TimeUtil::MillisecondsToDuration
    - espv2::api_proxy::service_control::protocol::ToString
    - auto*::set_referer
    - Envoy::Grpc::Utility::grpcStatusToString
    - producer_project_id::empty
    - espv2::api_proxy::service_control::TraceResourceName
    - auto*::set_remote_ip
    - LogEntry*::set_name
    - client_ip::empty
    - api_version::empty
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - api_method::empty
    - trace_id::empty
    - response_headers::empty
    - LogEntry*::mutable_timestamp
    - auto*::set_status
    - LogEntry*::set_severity
    - grpc_response_code::has_value
    - log_message::empty
    - api_key::empty
    - set_string_value
    - api_name::empty
    - auto*::set_response_size
    - seconds
    - utils::Version::instance
    - auto*::set_protocol
    - LogEntry*::set_trace
    - tracing_project_id::empty
    - auto*::mutable_latency
    - nanos
    - request_headers::empty
    - url::empty
    - LogEntry*::mutable_http_request
    - status::message
    - referer::empty
    - location::empty
    - method::empty
    - gcp_project_id::empty
    - response_code_detail::empty
    - status::ok
    - auto*::set_request_method
    - grpc_response_code::value
    - LogEntry*::mutable_struct_payload
    - espv2::api_proxy::service_control::get_status_code
    - auto*::set_request_size
    - auto*::set_request_url
    - espv2::api_proxy::service_control::api_key::ToString
    - jwt_payloads::empty
    - set_number_value
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void FillLogEntry(const ReportRequestInfo& info, const std::string&
      name,\n                  const std::string& config_id, const Timestamp& current_time,\n
      \                 LogEntry* log_entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pred
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:951,1
    - Dst: std::vector::push_back
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - first
    - last
    - pred
    argTypes:
    - Element*
    - Element*
    - std::function<bool(const Element*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 957
    functionName: espv2::api_proxy::service_control::FilterPointers
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - pred
    linkageType: ''
    returnType: std::vector<const Element*>
    signature: "std::vector<const Element*> FilterPointers(\n    const Element* first,
      const Element* last,\n    std::function<bool(const Element*)> pred)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Operation*::add_metric_value_sets
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:90,1
    - Dst: MetricValueSet*::set_metric_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:91,1
    - Dst: MetricValueSet*::add_metric_values
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - metric_name
    - operation
    argTypes:
    - char*
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: espv2::api_proxy::service_control::AddMetricValue
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 6
    functionsReached:
    - MetricValueSet*::set_metric_name
    - Operation*::add_metric_value_sets
    - MetricValueSet*::add_metric_values
    linkageType: ''
    returnType: MetricValue
    signature: MetricValue * AddMetricValue(const char* metric_name, Operation* operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:97,1
    - Dst: MetricValue*::set_int64_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - metric_name
    - value
    - operation
    argTypes:
    - char*
    - int64_t
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: espv2::api_proxy::service_control::AddInt64Metric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 3
    functionsReached:
    - espv2::api_proxy::service_control::AddMetricValue
    - MetricValue*::set_int64_value
    linkageType: ''
    returnType: void
    signature: "void AddInt64Metric(const char* metric_name, int64_t value,\n                    Operation*
      operation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:115,1
    - Dst: DistributionHelper::InitExponential
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:117,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:119,1
    - Dst: DistributionHelper::AddSample
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:120,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:121,1
    - Dst: MetricValue*::mutable_distribution_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:122,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' options'
    - metric_name
    - value
    - operation
    argTypes:
    - DistributionHelperOptions
    - char*
    - double
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::AddDistributionMetric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 15
    functionsReached:
    - DistributionHelper::InitExponential
    - espv2::api_proxy::service_control::AddMetricValue
    - OkStatus
    - MetricValue*::mutable_distribution_value
    - Status::ok
    - DistributionHelper::AddSample
    linkageType: ''
    returnType: Status
    signature: "Status AddDistributionMetric(const DistributionHelperOptions& options,\n
      \                            const char* metric_name, double value,\n                             Operation*
      operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddInt64Metric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:131,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' m'
    - operation
    argTypes:
    - SupportedMetric
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::set_int64_metric_to_constant_1
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddInt64Metric
    linkageType: ''
    returnType: Status
    signature: "Status set_int64_metric_to_constant_1(const SupportedMetric& m,\n
      \                                     const ReportRequestInfo&,\n                                      Operation*
      operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:139,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_size(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:149,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_response_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_response_size(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:161,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:172,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_backend_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:183,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_overhead_time(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: espv2::api_proxy::service_control::get_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 3
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: std::string
    signature: std::string get_service_agent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:367,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:368,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:369,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: espv2::api_proxy::service_control::get_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 12
    functionsReached:
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - grpc_response_code::value
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - grpc_response_code::has_value
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_status_code(const ReportRequestInfo& info)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:388,1
    - Dst: check_response_info::api_key_uid::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:394,1
    - Dst: auth_issuer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:396,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:397,1
    - Dst: auth_issuer::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: auth_issuer::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:399,1
    - Dst: auth_audience::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:401,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:402,1
    - Dst: auth_audience::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: auth_audience::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:404,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 409
    functionName: espv2::api_proxy::service_control::set_credential_id
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - auth_issuer::size
    - auth_issuer::empty
    - auth_audience::empty
    - absl::StrAppend
    - absl::StrCat
    - ASSERT
    - auth_issuer::data
    - auth_audience::data
    - Envoy::Base64Url::encode
    - auth_audience::size
    - OkStatus
    - api_key::empty
    - check_response_info::api_key_uid::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_credential_id(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:417,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 425
    functionName: espv2::api_proxy::service_control::set_error_type
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_error_type(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:430,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: espv2::api_proxy::service_control::set_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_protocol(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: espv2::api_proxy::service_control::set_backend_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_backend_protocol(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: espv2::api_proxy::service_control::set_consumer_project
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_consumer_project(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:457,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: espv2::api_proxy::service_control::set_referer
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - referer::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_referer(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                   Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:467,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:468,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 471
    functionName: espv2::api_proxy::service_control::set_response_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - snprintf
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:477,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: espv2::api_proxy::service_control::set_response_code_class
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code_class(const SupportedLabel& l,\n                               const
      ReportRequestInfo& info,\n                               Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: status::code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 488
    functionName: espv2::api_proxy::service_control::set_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - status::code
    - snprintf
    linkageType: ''
    returnType: Status
    signature: "Status set_status_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:493,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: espv2::api_proxy::service_control::set_location
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - location::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_location(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:505,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: espv2::api_proxy::service_control::set_api_method
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_method::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_method(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:514,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: espv2::api_proxy::service_control::set_api_version
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_version::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_version(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: espv2::api_proxy::service_control::set_platform
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_platform(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:530,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: espv2::api_proxy::service_control::set_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_service_agent
    linkageType: ''
    returnType: Status
    signature: "Status set_service_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                        Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: espv2::api_proxy::service_control::set_user_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_user_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                     Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:793,1
    - Dst: std::chrono::system_clock::time_point::time_since_epoch
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:794,1
    - Dst: Timestamp::set_seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:797,1
    - Dst: Timestamp::set_nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tp
    argTypes:
    - std::chrono::system_clock::time_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 800
    functionName: espv2::api_proxy::service_control::CreateTimestamp
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - Timestamp::set_nanos
    - Timestamp::set_seconds
    - std::chrono::system_clock::time_point::time_since_epoch
    linkageType: ''
    returnType: Timestamp
    signature: Timestamp CreateTimestamp(std::chrono::system_clock::time_point tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:803,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:804,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:806,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:807,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 810
    functionName: espv2::api_proxy::service_control::VerifyRequiredCheckFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_id::empty
    - operation_name::empty
    - Status
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredCheckFields(const OperationInfo& info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 812
    functionName: espv2::api_proxy::service_control::VerifyRequiredReportFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredReportFields(const OperationInfo&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:816,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:817,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:819,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:820,1
    - Dst: Operation*::mutable_start_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:822,1
    - Dst: Operation*::mutable_end_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' info'
    - ' current_time'
    - op
    argTypes:
    - OperationInfo
    - Timestamp
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 824
    functionName: espv2::api_proxy::service_control::SetOperationCommonFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_name::empty
    - operation_id::empty
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - Operation*::mutable_start_time
    - Operation*::mutable_end_time
    linkageType: ''
    returnType: void
    signature: "void SetOperationCommonFields(const OperationInfo& info,\n                              const
      Timestamp& current_time, Operation* op)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - trace_id
    - project_id
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 829
    functionName: espv2::api_proxy::service_control::TraceResourceName
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 3
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: std::string
    signature: "std::string TraceResourceName(absl::string_view trace_id,\n                              absl::string_view
      project_id)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: LogEntry*::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:834,1
    - Dst: LogEntry*::mutable_timestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:835,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:836,1
    - Dst: LogEntry*::set_severity
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:838,1
    - Dst: trace_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:841,1
    - Dst: tracing_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:842,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:843,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:844,1
    - Dst: gcp_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:845,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:846,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:847,1
    - Dst: LogEntry*::mutable_http_request
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:852,1
    - Dst: auto*::set_protocol
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: auto*::set_status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:855,1
    - Dst: auto*::set_request_method
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:856,1
    - Dst: url::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:858,1
    - Dst: auto*::set_request_url
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:859,1
    - Dst: auto*::set_request_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:862,1
    - Dst: auto*::set_response_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:865,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:867,1
    - Dst: auto*::set_remote_ip
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:868,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:870,1
    - Dst: auto*::set_referer
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:871,1
    - Dst: google::protobuf::util::TimeUtil::MillisecondsToDuration
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:875,1
    - Dst: auto*::mutable_latency
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:877,1
    - Dst: LogEntry*::mutable_struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:881,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:882,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:885,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:886,1
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:887,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:889,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:890,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:891,1
    - Dst: response_code_detail::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:894,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:895,1
    - Dst: producer_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:899,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:900,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:903,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:904,1
    - Dst: api_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:906,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:907,1
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:909,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:910,1
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:912,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:913,1
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:915,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:916,1
    - Dst: log_message::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:918,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:919,1
    - Dst: request_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:921,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:922,1
    - Dst: response_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:925,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:926,1
    - Dst: jwt_payloads::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:929,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:930,1
    - Dst: status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:936,1
    - Dst: Envoy::Grpc::Utility::grpcStatusToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:938,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:939,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:940,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:941,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 79
    argCount: 5
    argNames:
    - ' info'
    - ' name'
    - ' config_id'
    - ' current_time'
    - log_entry
    argTypes:
    - ReportRequestInfo
    - std::string
    - std::string
    - Timestamp
    - LogEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 943
    functionName: espv2::api_proxy::service_control::FillLogEntry
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::util::TimeUtil::MillisecondsToDuration
    - espv2::api_proxy::service_control::protocol::ToString
    - auto*::set_referer
    - Envoy::Grpc::Utility::grpcStatusToString
    - producer_project_id::empty
    - espv2::api_proxy::service_control::TraceResourceName
    - auto*::set_remote_ip
    - LogEntry*::set_name
    - client_ip::empty
    - api_version::empty
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - api_method::empty
    - trace_id::empty
    - response_headers::empty
    - LogEntry*::mutable_timestamp
    - auto*::set_status
    - LogEntry*::set_severity
    - grpc_response_code::has_value
    - log_message::empty
    - api_key::empty
    - set_string_value
    - api_name::empty
    - auto*::set_response_size
    - seconds
    - utils::Version::instance
    - auto*::set_protocol
    - LogEntry*::set_trace
    - tracing_project_id::empty
    - auto*::mutable_latency
    - nanos
    - request_headers::empty
    - url::empty
    - LogEntry*::mutable_http_request
    - status::message
    - referer::empty
    - location::empty
    - method::empty
    - gcp_project_id::empty
    - response_code_detail::empty
    - status::ok
    - auto*::set_request_method
    - grpc_response_code::value
    - LogEntry*::mutable_struct_payload
    - espv2::api_proxy::service_control::get_status_code
    - auto*::set_request_size
    - auto*::set_request_url
    - espv2::api_proxy::service_control::api_key::ToString
    - jwt_payloads::empty
    - set_number_value
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void FillLogEntry(const ReportRequestInfo& info, const std::string&
      name,\n                  const std::string& config_id, const Timestamp& current_time,\n
      \                 LogEntry* log_entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pred
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:951,1
    - Dst: std::vector::push_back
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - first
    - last
    - pred
    argTypes:
    - Element*
    - Element*
    - std::function<bool(const Element*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 957
    functionName: espv2::api_proxy::service_control::FilterPointers
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - pred
    linkageType: ''
    returnType: std::vector<const Element*>
    signature: "std::vector<const Element*> FilterPointers(\n    const Element* first,
      const Element* last,\n    std::function<bool(const Element*)> pred)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:964,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:964,1
    - Dst: FilterPointers<SupportedMetric>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:965,1
    - Dst: FilterPointers<SupportedLabel>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' logs'
    - ' service_name'
    - ' service_config_id'
    argTypes:
    - std::set<std::string>
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 972
    functionName: espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - FilterPointers<SupportedLabel>
    - begin
    - FilterPointers<SupportedMetric>
    - end
    linkageType: ''
    returnType: void
    signature: "void RequestBuilder::RequestBuilder(const std::set<std::string>& logs,\n
      \                              const std::string& service_name,\n                               const
      std::string& service_config_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:979,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:979,1
    - Dst: FilterPointers<SupportedMetric>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:980,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:983,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:983,1
    - Dst: FilterPointers<SupportedLabel>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:985,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:989,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:989,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - ' logs'
    - ' metrics'
    - ' labels'
    - ' service_name'
    - ' service_config_id'
    argTypes:
    - std::set<std::string>
    - std::set<std::string>
    - std::set<std::string>
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 992
    functionName: espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - FilterPointers<SupportedMetric>
    - FilterPointers<SupportedLabel>
    - begin
    - find
    - end
    linkageType: ''
    returnType: void
    signature: "void RequestBuilder::RequestBuilder(const std::set<std::string>& logs,\n
      \                              const std::set<std::string>& metrics,\n                               const
      std::set<std::string>& labels,\n                               const std::string&
      service_name,\n                               const std::string& service_config_id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest*::mutable_allocate_operation
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:998,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1001,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_config_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1003,1
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1006,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1007,1
    - Dst: method_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1010,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_method_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1011,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1014,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1016,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1016,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1017,1
    - Dst: producer_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1018,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1019,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1019,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1020,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_quota_mode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1024,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1029,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1030,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1034,1
    - Dst: get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1038,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::add_quota_metrics
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1041,1
    - Dst: MetricValueSet*::set_metric_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1042,1
    - Dst: MetricValueSet*::add_metric_values
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1043,1
    - Dst: MetricValue*::set_int64_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1045,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1048,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - ' info'
    - request
    argTypes:
    - QuotaRequestInfo
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1049
    functionName: espv2::api_proxy::service_control::RequestBuilder::FillAllocateQuotaRequest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_name
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_quota_mode
    - producer_project_id::empty
    - get_service_agent
    - client_ip::empty
    - method_name::empty
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_config_id
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_method_name
    - api_key::empty
    - ::google::api::servicecontrol::v1::QuotaOperation*::add_quota_metrics
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_consumer_id
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*::mutable_allocate_operation
    - operation_id::empty
    - MetricValueSet*::set_metric_name
    - referer::empty
    - MetricValueSet*::add_metric_values
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_operation_id
    - MetricValue*::set_int64_value
    - ::google::api::servicecontrol::v1::QuotaOperation*::mutable_labels
    - OkStatus
    - std::string
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::FillAllocateQuotaRequest(\n    const QuotaRequestInfo&
      info,\n    ::google::api::servicecontrol::v1::AllocateQuotaRequest* request)
      const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VerifyRequiredCheckFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1053,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1054,1
    - Dst: CheckRequest*::set_service_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1057,1
    - Dst: CheckRequest*::set_service_config_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1058,1
    - Dst: CreateTimestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1060,1
    - Dst: CheckRequest*::mutable_operation
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1061,1
    - Dst: SetOperationCommonFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1062,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1063,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1065,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1065,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1066,1
    - Dst: Operation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1069,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1070,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1073,1
    - Dst: get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1077,1
    - Dst: android_package_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1079,1
    - Dst: android_cert_fingerprint::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1082,1
    - Dst: ios_bundle_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1086,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1090,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - ' info'
    - request
    argTypes:
    - CheckRequestInfo
    - CheckRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1091
    functionName: espv2::api_proxy::service_control::RequestBuilder::FillCheckRequest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - android_cert_fingerprint::empty
    - OkStatus
    - CreateTimestamp
    - Operation*::mutable_labels
    - api_key::empty
    - ios_bundle_id::empty
    - referer::empty
    - CheckRequest*::mutable_operation
    - CheckRequest*::set_service_name
    - VerifyRequiredCheckFields
    - CheckRequest*::set_service_config_id
    - SetOperationCommonFields
    - Status::ok
    - client_ip::empty
    - get_service_agent
    - std::string
    - android_package_name::empty
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::FillCheckRequest(const CheckRequestInfo& info,\n
      \                                       CheckRequest* request) const"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VerifyRequiredReportFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1095,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1096,1
    - Dst: ReportRequest*::set_service_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1099,1
    - Dst: ReportRequest*::set_service_config_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1100,1
    - Dst: CreateTimestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1102,1
    - Dst: ReportRequest*::add_operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1103,1
    - Dst: SetOperationCommonFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1104,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1107,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1107,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1109,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1109,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1110,1
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1114,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1114,1
    - Dst: Operation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1115,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1117,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1117,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1121,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1131,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1131,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1136,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1143,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1143,1
    - Dst: FillLogEntry
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1144,1
    - Dst: Operation*::add_log_entries
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1145,1
    - Dst: check_response_info::consumer_project_number::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1148,1
    - Dst: espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1149,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1152,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 2
    argNames:
    - ' info'
    - request
    argTypes:
    - ReportRequestInfo
    - ReportRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1153
    functionName: espv2::api_proxy::service_control::RequestBuilder::FillReportRequest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
    - ASSERT
    - CreateTimestamp
    - Operation*::mutable_labels
    - Status::ok
    - FillLogEntry
    - operation_name::empty
    - check_response_info::consumer_project_number::empty
    - api_key::empty
    - ReportRequest*::add_operations
    - Operation*::set_consumer_id
    - operation_id::empty
    - VerifyRequiredReportFields
    - begin
    - SetOperationCommonFields
    - end
    - ReportRequest*::set_service_config_id
    - ReportRequest*::set_service_name
    - OkStatus
    - std::string
    - Operation*::add_log_entries
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::FillReportRequest(const ReportRequestInfo&
      info,\n                                         ReportRequest* request) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::google::api::servicecontrol::v1::ReportRequest*::add_operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1159,1
    - Dst: SetOperationCommonFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1160,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1163,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1163,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1165,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1165,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1166,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1169,1
    - Dst: Operation*::operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1169,1
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1172,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1172,1
    - Dst: Operation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1173,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1175,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1175,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1179,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1184,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1184,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1188,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - ' info'
    - request
    - current_time
    argTypes:
    - ReportRequestInfo
    - ::google::api::servicecontrol::v1::ReportRequest*
    - Timestamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1194
    functionName: espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 2
    functionsReached:
    - SetOperationCommonFields
    - Operation*::set_consumer_id
    - operation_name::empty
    - Operation*::operation_id
    - ASSERT
    - Operation*::mutable_labels
    - Operation*::set_operation_id
    - operation_id::empty
    - begin
    - Status::ok
    - OkStatus
    - ::google::api::servicecontrol::v1::ReportRequest*::add_operations
    - api_key::empty
    - std::string
    - end
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::AppendByConsumerOperations(\n    const ReportRequestInfo&
      info,\n    ::google::api::servicecontrol::v1::ReportRequest* request,\n    Timestamp
      current_time) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1200,1
    - Dst: metric_kind
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1200,1
    - Dst: value_type
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ' metric'
    argTypes:
    - ::google::api::MetricDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1206
    functionName: espv2::api_proxy::service_control::RequestBuilder::IsMetricSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - value_type
    - metric_kind
    - name
    linkageType: ''
    returnType: bool
    signature: "bool RequestBuilder::IsMetricSupported(\n    const ::google::api::MetricDescriptor&
      metric)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1212,1
    - Dst: value_type
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - ::google::api::LabelDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1217
    functionName: espv2::api_proxy::service_control::RequestBuilder::IsLabelSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - value_type
    - key
    linkageType: ''
    returnType: bool
    signature: "bool RequestBuilder::IsLabelSupported(\n    const ::google::api::LabelDescriptor&
      label)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Operation*::add_metric_value_sets
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:90,1
    - Dst: MetricValueSet*::set_metric_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:91,1
    - Dst: MetricValueSet*::add_metric_values
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - metric_name
    - operation
    argTypes:
    - char*
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: espv2::api_proxy::service_control::AddMetricValue
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 8
    functionsReached:
    - MetricValueSet*::set_metric_name
    - Operation*::add_metric_value_sets
    - MetricValueSet*::add_metric_values
    linkageType: ''
    returnType: MetricValue
    signature: MetricValue * AddMetricValue(const char* metric_name, Operation* operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:97,1
    - Dst: MetricValue*::set_int64_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - metric_name
    - value
    - operation
    argTypes:
    - char*
    - int64_t
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: espv2::api_proxy::service_control::AddInt64Metric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 4
    functionsReached:
    - espv2::api_proxy::service_control::AddMetricValue
    - MetricValue*::set_int64_value
    linkageType: ''
    returnType: void
    signature: "void AddInt64Metric(const char* metric_name, int64_t value,\n                    Operation*
      operation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:115,1
    - Dst: DistributionHelper::InitExponential
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:117,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:119,1
    - Dst: DistributionHelper::AddSample
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:120,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:121,1
    - Dst: MetricValue*::mutable_distribution_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:122,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' options'
    - metric_name
    - value
    - operation
    argTypes:
    - DistributionHelperOptions
    - char*
    - double
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::AddDistributionMetric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 20
    functionsReached:
    - DistributionHelper::InitExponential
    - espv2::api_proxy::service_control::AddMetricValue
    - OkStatus
    - MetricValue*::mutable_distribution_value
    - Status::ok
    - DistributionHelper::AddSample
    linkageType: ''
    returnType: Status
    signature: "Status AddDistributionMetric(const DistributionHelperOptions& options,\n
      \                            const char* metric_name, double value,\n                             Operation*
      operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddInt64Metric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:131,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' m'
    - operation
    argTypes:
    - SupportedMetric
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::set_int64_metric_to_constant_1
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddInt64Metric
    linkageType: ''
    returnType: Status
    signature: "Status set_int64_metric_to_constant_1(const SupportedMetric& m,\n
      \                                     const ReportRequestInfo&,\n                                      Operation*
      operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:139,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_size(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:149,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_response_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_response_size(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:161,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:172,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_backend_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:183,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_overhead_time(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: espv2::api_proxy::service_control::get_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 4
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: std::string
    signature: std::string get_service_agent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:367,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:368,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:369,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: espv2::api_proxy::service_control::get_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 16
    functionsReached:
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - grpc_response_code::value
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - grpc_response_code::has_value
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_status_code(const ReportRequestInfo& info)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:388,1
    - Dst: check_response_info::api_key_uid::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:394,1
    - Dst: auth_issuer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:396,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:397,1
    - Dst: auth_issuer::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: auth_issuer::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:399,1
    - Dst: auth_audience::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:401,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:402,1
    - Dst: auth_audience::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: auth_audience::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:404,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 409
    functionName: espv2::api_proxy::service_control::set_credential_id
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - auth_issuer::size
    - auth_issuer::empty
    - auth_audience::empty
    - absl::StrAppend
    - absl::StrCat
    - ASSERT
    - auth_issuer::data
    - auth_audience::data
    - Envoy::Base64Url::encode
    - auth_audience::size
    - OkStatus
    - api_key::empty
    - check_response_info::api_key_uid::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_credential_id(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:417,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 425
    functionName: espv2::api_proxy::service_control::set_error_type
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_error_type(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:430,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: espv2::api_proxy::service_control::set_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_protocol(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: espv2::api_proxy::service_control::set_backend_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_backend_protocol(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: espv2::api_proxy::service_control::set_consumer_project
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_consumer_project(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:457,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: espv2::api_proxy::service_control::set_referer
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - referer::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_referer(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                   Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:467,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:468,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 471
    functionName: espv2::api_proxy::service_control::set_response_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - snprintf
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:477,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: espv2::api_proxy::service_control::set_response_code_class
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code_class(const SupportedLabel& l,\n                               const
      ReportRequestInfo& info,\n                               Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: status::code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 488
    functionName: espv2::api_proxy::service_control::set_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - status::code
    - snprintf
    linkageType: ''
    returnType: Status
    signature: "Status set_status_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:493,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: espv2::api_proxy::service_control::set_location
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - location::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_location(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:505,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: espv2::api_proxy::service_control::set_api_method
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_method::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_method(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:514,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: espv2::api_proxy::service_control::set_api_version
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_version::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_version(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: espv2::api_proxy::service_control::set_platform
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_platform(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:530,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: espv2::api_proxy::service_control::set_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_service_agent
    linkageType: ''
    returnType: Status
    signature: "Status set_service_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                        Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: espv2::api_proxy::service_control::set_user_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_user_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                     Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:793,1
    - Dst: std::chrono::system_clock::time_point::time_since_epoch
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:794,1
    - Dst: Timestamp::set_seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:797,1
    - Dst: Timestamp::set_nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tp
    argTypes:
    - std::chrono::system_clock::time_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 800
    functionName: espv2::api_proxy::service_control::CreateTimestamp
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - Timestamp::set_nanos
    - Timestamp::set_seconds
    - std::chrono::system_clock::time_point::time_since_epoch
    linkageType: ''
    returnType: Timestamp
    signature: Timestamp CreateTimestamp(std::chrono::system_clock::time_point tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:803,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:804,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:806,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:807,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 810
    functionName: espv2::api_proxy::service_control::VerifyRequiredCheckFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_id::empty
    - operation_name::empty
    - Status
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredCheckFields(const OperationInfo& info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 812
    functionName: espv2::api_proxy::service_control::VerifyRequiredReportFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredReportFields(const OperationInfo&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:816,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:817,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:819,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:820,1
    - Dst: Operation*::mutable_start_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:822,1
    - Dst: Operation*::mutable_end_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' info'
    - ' current_time'
    - op
    argTypes:
    - OperationInfo
    - Timestamp
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 824
    functionName: espv2::api_proxy::service_control::SetOperationCommonFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_name::empty
    - operation_id::empty
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - Operation*::mutable_start_time
    - Operation*::mutable_end_time
    linkageType: ''
    returnType: void
    signature: "void SetOperationCommonFields(const OperationInfo& info,\n                              const
      Timestamp& current_time, Operation* op)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - trace_id
    - project_id
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 829
    functionName: espv2::api_proxy::service_control::TraceResourceName
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 4
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: std::string
    signature: "std::string TraceResourceName(absl::string_view trace_id,\n                              absl::string_view
      project_id)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: LogEntry*::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:834,1
    - Dst: LogEntry*::mutable_timestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:835,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:836,1
    - Dst: LogEntry*::set_severity
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:838,1
    - Dst: trace_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:841,1
    - Dst: tracing_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:842,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:843,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:844,1
    - Dst: gcp_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:845,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:846,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:847,1
    - Dst: LogEntry*::mutable_http_request
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:852,1
    - Dst: auto*::set_protocol
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: auto*::set_status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:855,1
    - Dst: auto*::set_request_method
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:856,1
    - Dst: url::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:858,1
    - Dst: auto*::set_request_url
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:859,1
    - Dst: auto*::set_request_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:862,1
    - Dst: auto*::set_response_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:865,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:867,1
    - Dst: auto*::set_remote_ip
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:868,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:870,1
    - Dst: auto*::set_referer
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:871,1
    - Dst: google::protobuf::util::TimeUtil::MillisecondsToDuration
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:875,1
    - Dst: auto*::mutable_latency
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:877,1
    - Dst: LogEntry*::mutable_struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:881,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:882,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:885,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:886,1
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:887,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:889,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:890,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:891,1
    - Dst: response_code_detail::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:894,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:895,1
    - Dst: producer_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:899,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:900,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:903,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:904,1
    - Dst: api_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:906,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:907,1
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:909,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:910,1
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:912,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:913,1
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:915,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:916,1
    - Dst: log_message::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:918,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:919,1
    - Dst: request_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:921,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:922,1
    - Dst: response_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:925,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:926,1
    - Dst: jwt_payloads::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:929,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:930,1
    - Dst: status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:936,1
    - Dst: Envoy::Grpc::Utility::grpcStatusToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:938,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:939,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:940,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:941,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 79
    argCount: 5
    argNames:
    - ' info'
    - ' name'
    - ' config_id'
    - ' current_time'
    - log_entry
    argTypes:
    - ReportRequestInfo
    - std::string
    - std::string
    - Timestamp
    - LogEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 943
    functionName: espv2::api_proxy::service_control::FillLogEntry
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::util::TimeUtil::MillisecondsToDuration
    - espv2::api_proxy::service_control::protocol::ToString
    - auto*::set_referer
    - Envoy::Grpc::Utility::grpcStatusToString
    - producer_project_id::empty
    - espv2::api_proxy::service_control::TraceResourceName
    - auto*::set_remote_ip
    - LogEntry*::set_name
    - client_ip::empty
    - api_version::empty
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - api_method::empty
    - trace_id::empty
    - response_headers::empty
    - LogEntry*::mutable_timestamp
    - auto*::set_status
    - LogEntry*::set_severity
    - grpc_response_code::has_value
    - log_message::empty
    - api_key::empty
    - set_string_value
    - api_name::empty
    - auto*::set_response_size
    - seconds
    - utils::Version::instance
    - auto*::set_protocol
    - LogEntry*::set_trace
    - tracing_project_id::empty
    - auto*::mutable_latency
    - nanos
    - request_headers::empty
    - url::empty
    - LogEntry*::mutable_http_request
    - status::message
    - referer::empty
    - location::empty
    - method::empty
    - gcp_project_id::empty
    - response_code_detail::empty
    - status::ok
    - auto*::set_request_method
    - grpc_response_code::value
    - LogEntry*::mutable_struct_payload
    - espv2::api_proxy::service_control::get_status_code
    - auto*::set_request_size
    - auto*::set_request_url
    - espv2::api_proxy::service_control::api_key::ToString
    - jwt_payloads::empty
    - set_number_value
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void FillLogEntry(const ReportRequestInfo& info, const std::string&
      name,\n                  const std::string& config_id, const Timestamp& current_time,\n
      \                 LogEntry* log_entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pred
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:951,1
    - Dst: std::vector::push_back
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - first
    - last
    - pred
    argTypes:
    - Element*
    - Element*
    - std::function<bool(const Element*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 957
    functionName: espv2::api_proxy::service_control::FilterPointers
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - pred
    linkageType: ''
    returnType: std::vector<const Element*>
    signature: "std::vector<const Element*> FilterPointers(\n    const Element* first,
      const Element* last,\n    std::function<bool(const Element*)> pred)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Operation*::add_metric_value_sets
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:90,1
    - Dst: MetricValueSet*::set_metric_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:91,1
    - Dst: MetricValueSet*::add_metric_values
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - metric_name
    - operation
    argTypes:
    - char*
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: espv2::api_proxy::service_control::AddMetricValue
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 10
    functionsReached:
    - MetricValueSet*::set_metric_name
    - Operation*::add_metric_value_sets
    - MetricValueSet*::add_metric_values
    linkageType: ''
    returnType: MetricValue
    signature: MetricValue * AddMetricValue(const char* metric_name, Operation* operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:97,1
    - Dst: MetricValue*::set_int64_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - metric_name
    - value
    - operation
    argTypes:
    - char*
    - int64_t
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: espv2::api_proxy::service_control::AddInt64Metric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 5
    functionsReached:
    - espv2::api_proxy::service_control::AddMetricValue
    - MetricValue*::set_int64_value
    linkageType: ''
    returnType: void
    signature: "void AddInt64Metric(const char* metric_name, int64_t value,\n                    Operation*
      operation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:115,1
    - Dst: DistributionHelper::InitExponential
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:117,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:119,1
    - Dst: DistributionHelper::AddSample
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:120,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:121,1
    - Dst: MetricValue*::mutable_distribution_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:122,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' options'
    - metric_name
    - value
    - operation
    argTypes:
    - DistributionHelperOptions
    - char*
    - double
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::AddDistributionMetric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 25
    functionsReached:
    - DistributionHelper::InitExponential
    - espv2::api_proxy::service_control::AddMetricValue
    - OkStatus
    - MetricValue*::mutable_distribution_value
    - Status::ok
    - DistributionHelper::AddSample
    linkageType: ''
    returnType: Status
    signature: "Status AddDistributionMetric(const DistributionHelperOptions& options,\n
      \                            const char* metric_name, double value,\n                             Operation*
      operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddInt64Metric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:131,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' m'
    - operation
    argTypes:
    - SupportedMetric
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::set_int64_metric_to_constant_1
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddInt64Metric
    linkageType: ''
    returnType: Status
    signature: "Status set_int64_metric_to_constant_1(const SupportedMetric& m,\n
      \                                     const ReportRequestInfo&,\n                                      Operation*
      operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:139,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_size(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:149,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_response_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_response_size(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:161,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:172,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_backend_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:183,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_overhead_time(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: espv2::api_proxy::service_control::get_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 5
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: std::string
    signature: std::string get_service_agent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:367,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:368,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:369,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: espv2::api_proxy::service_control::get_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 20
    functionsReached:
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - grpc_response_code::value
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - grpc_response_code::has_value
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_status_code(const ReportRequestInfo& info)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:388,1
    - Dst: check_response_info::api_key_uid::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:394,1
    - Dst: auth_issuer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:396,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:397,1
    - Dst: auth_issuer::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: auth_issuer::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:399,1
    - Dst: auth_audience::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:401,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:402,1
    - Dst: auth_audience::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: auth_audience::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:404,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 409
    functionName: espv2::api_proxy::service_control::set_credential_id
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - auth_issuer::size
    - auth_issuer::empty
    - auth_audience::empty
    - absl::StrAppend
    - absl::StrCat
    - ASSERT
    - auth_issuer::data
    - auth_audience::data
    - Envoy::Base64Url::encode
    - auth_audience::size
    - OkStatus
    - api_key::empty
    - check_response_info::api_key_uid::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_credential_id(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:417,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 425
    functionName: espv2::api_proxy::service_control::set_error_type
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_error_type(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:430,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: espv2::api_proxy::service_control::set_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_protocol(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: espv2::api_proxy::service_control::set_backend_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_backend_protocol(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: espv2::api_proxy::service_control::set_consumer_project
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_consumer_project(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:457,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: espv2::api_proxy::service_control::set_referer
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - referer::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_referer(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                   Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:467,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:468,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 471
    functionName: espv2::api_proxy::service_control::set_response_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - snprintf
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:477,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: espv2::api_proxy::service_control::set_response_code_class
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code_class(const SupportedLabel& l,\n                               const
      ReportRequestInfo& info,\n                               Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: status::code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 488
    functionName: espv2::api_proxy::service_control::set_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - status::code
    - snprintf
    linkageType: ''
    returnType: Status
    signature: "Status set_status_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:493,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: espv2::api_proxy::service_control::set_location
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - location::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_location(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:505,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: espv2::api_proxy::service_control::set_api_method
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_method::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_method(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:514,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: espv2::api_proxy::service_control::set_api_version
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_version::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_version(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: espv2::api_proxy::service_control::set_platform
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_platform(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:530,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: espv2::api_proxy::service_control::set_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_service_agent
    linkageType: ''
    returnType: Status
    signature: "Status set_service_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                        Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: espv2::api_proxy::service_control::set_user_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_user_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                     Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:793,1
    - Dst: std::chrono::system_clock::time_point::time_since_epoch
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:794,1
    - Dst: Timestamp::set_seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:797,1
    - Dst: Timestamp::set_nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tp
    argTypes:
    - std::chrono::system_clock::time_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 800
    functionName: espv2::api_proxy::service_control::CreateTimestamp
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - Timestamp::set_nanos
    - Timestamp::set_seconds
    - std::chrono::system_clock::time_point::time_since_epoch
    linkageType: ''
    returnType: Timestamp
    signature: Timestamp CreateTimestamp(std::chrono::system_clock::time_point tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:803,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:804,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:806,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:807,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 810
    functionName: espv2::api_proxy::service_control::VerifyRequiredCheckFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_id::empty
    - operation_name::empty
    - Status
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredCheckFields(const OperationInfo& info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 812
    functionName: espv2::api_proxy::service_control::VerifyRequiredReportFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredReportFields(const OperationInfo&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:816,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:817,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:819,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:820,1
    - Dst: Operation*::mutable_start_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:822,1
    - Dst: Operation*::mutable_end_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' info'
    - ' current_time'
    - op
    argTypes:
    - OperationInfo
    - Timestamp
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 824
    functionName: espv2::api_proxy::service_control::SetOperationCommonFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_name::empty
    - operation_id::empty
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - Operation*::mutable_start_time
    - Operation*::mutable_end_time
    linkageType: ''
    returnType: void
    signature: "void SetOperationCommonFields(const OperationInfo& info,\n                              const
      Timestamp& current_time, Operation* op)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - trace_id
    - project_id
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 829
    functionName: espv2::api_proxy::service_control::TraceResourceName
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 5
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: std::string
    signature: "std::string TraceResourceName(absl::string_view trace_id,\n                              absl::string_view
      project_id)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: LogEntry*::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:834,1
    - Dst: LogEntry*::mutable_timestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:835,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:836,1
    - Dst: LogEntry*::set_severity
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:838,1
    - Dst: trace_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:841,1
    - Dst: tracing_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:842,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:843,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:844,1
    - Dst: gcp_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:845,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:846,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:847,1
    - Dst: LogEntry*::mutable_http_request
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:852,1
    - Dst: auto*::set_protocol
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: auto*::set_status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:855,1
    - Dst: auto*::set_request_method
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:856,1
    - Dst: url::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:858,1
    - Dst: auto*::set_request_url
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:859,1
    - Dst: auto*::set_request_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:862,1
    - Dst: auto*::set_response_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:865,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:867,1
    - Dst: auto*::set_remote_ip
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:868,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:870,1
    - Dst: auto*::set_referer
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:871,1
    - Dst: google::protobuf::util::TimeUtil::MillisecondsToDuration
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:875,1
    - Dst: auto*::mutable_latency
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:877,1
    - Dst: LogEntry*::mutable_struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:881,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:882,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:885,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:886,1
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:887,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:889,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:890,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:891,1
    - Dst: response_code_detail::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:894,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:895,1
    - Dst: producer_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:899,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:900,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:903,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:904,1
    - Dst: api_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:906,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:907,1
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:909,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:910,1
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:912,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:913,1
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:915,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:916,1
    - Dst: log_message::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:918,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:919,1
    - Dst: request_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:921,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:922,1
    - Dst: response_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:925,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:926,1
    - Dst: jwt_payloads::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:929,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:930,1
    - Dst: status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:936,1
    - Dst: Envoy::Grpc::Utility::grpcStatusToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:938,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:939,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:940,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:941,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 79
    argCount: 5
    argNames:
    - ' info'
    - ' name'
    - ' config_id'
    - ' current_time'
    - log_entry
    argTypes:
    - ReportRequestInfo
    - std::string
    - std::string
    - Timestamp
    - LogEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 943
    functionName: espv2::api_proxy::service_control::FillLogEntry
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::util::TimeUtil::MillisecondsToDuration
    - espv2::api_proxy::service_control::protocol::ToString
    - auto*::set_referer
    - Envoy::Grpc::Utility::grpcStatusToString
    - producer_project_id::empty
    - espv2::api_proxy::service_control::TraceResourceName
    - auto*::set_remote_ip
    - LogEntry*::set_name
    - client_ip::empty
    - api_version::empty
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - api_method::empty
    - trace_id::empty
    - response_headers::empty
    - LogEntry*::mutable_timestamp
    - auto*::set_status
    - LogEntry*::set_severity
    - grpc_response_code::has_value
    - log_message::empty
    - api_key::empty
    - set_string_value
    - api_name::empty
    - auto*::set_response_size
    - seconds
    - utils::Version::instance
    - auto*::set_protocol
    - LogEntry*::set_trace
    - tracing_project_id::empty
    - auto*::mutable_latency
    - nanos
    - request_headers::empty
    - url::empty
    - LogEntry*::mutable_http_request
    - status::message
    - referer::empty
    - location::empty
    - method::empty
    - gcp_project_id::empty
    - response_code_detail::empty
    - status::ok
    - auto*::set_request_method
    - grpc_response_code::value
    - LogEntry*::mutable_struct_payload
    - espv2::api_proxy::service_control::get_status_code
    - auto*::set_request_size
    - auto*::set_request_url
    - espv2::api_proxy::service_control::api_key::ToString
    - jwt_payloads::empty
    - set_number_value
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void FillLogEntry(const ReportRequestInfo& info, const std::string&
      name,\n                  const std::string& config_id, const Timestamp& current_time,\n
      \                 LogEntry* log_entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pred
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:951,1
    - Dst: std::vector::push_back
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - first
    - last
    - pred
    argTypes:
    - Element*
    - Element*
    - std::function<bool(const Element*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 957
    functionName: espv2::api_proxy::service_control::FilterPointers
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - pred
    linkageType: ''
    returnType: std::vector<const Element*>
    signature: "std::vector<const Element*> FilterPointers(\n    const Element* first,
      const Element* last,\n    std::function<bool(const Element*)> pred)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:964,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:964,1
    - Dst: FilterPointers<SupportedMetric>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:965,1
    - Dst: FilterPointers<SupportedLabel>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' logs'
    - ' service_name'
    - ' service_config_id'
    argTypes:
    - std::set<std::string>
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 972
    functionName: espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - FilterPointers<SupportedLabel>
    - begin
    - FilterPointers<SupportedMetric>
    - end
    linkageType: ''
    returnType: void
    signature: "void RequestBuilder::RequestBuilder(const std::set<std::string>& logs,\n
      \                              const std::string& service_name,\n                               const
      std::string& service_config_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:979,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:979,1
    - Dst: FilterPointers<SupportedMetric>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:980,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:983,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:983,1
    - Dst: FilterPointers<SupportedLabel>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:985,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:989,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:989,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - ' logs'
    - ' metrics'
    - ' labels'
    - ' service_name'
    - ' service_config_id'
    argTypes:
    - std::set<std::string>
    - std::set<std::string>
    - std::set<std::string>
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 992
    functionName: espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - FilterPointers<SupportedMetric>
    - FilterPointers<SupportedLabel>
    - begin
    - find
    - end
    linkageType: ''
    returnType: void
    signature: "void RequestBuilder::RequestBuilder(const std::set<std::string>& logs,\n
      \                              const std::set<std::string>& metrics,\n                               const
      std::set<std::string>& labels,\n                               const std::string&
      service_name,\n                               const std::string& service_config_id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest*::mutable_allocate_operation
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:998,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1001,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_config_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1003,1
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1006,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1007,1
    - Dst: method_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1010,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_method_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1011,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1014,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1016,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1016,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1017,1
    - Dst: producer_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1018,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1019,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1019,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1020,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_quota_mode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1024,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1029,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1030,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1034,1
    - Dst: get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1038,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::add_quota_metrics
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1041,1
    - Dst: MetricValueSet*::set_metric_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1042,1
    - Dst: MetricValueSet*::add_metric_values
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1043,1
    - Dst: MetricValue*::set_int64_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1045,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1048,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - ' info'
    - request
    argTypes:
    - QuotaRequestInfo
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1049
    functionName: espv2::api_proxy::service_control::RequestBuilder::FillAllocateQuotaRequest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_name
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_quota_mode
    - producer_project_id::empty
    - get_service_agent
    - client_ip::empty
    - method_name::empty
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_config_id
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_method_name
    - api_key::empty
    - ::google::api::servicecontrol::v1::QuotaOperation*::add_quota_metrics
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_consumer_id
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*::mutable_allocate_operation
    - operation_id::empty
    - MetricValueSet*::set_metric_name
    - referer::empty
    - MetricValueSet*::add_metric_values
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_operation_id
    - MetricValue*::set_int64_value
    - ::google::api::servicecontrol::v1::QuotaOperation*::mutable_labels
    - OkStatus
    - std::string
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::FillAllocateQuotaRequest(\n    const QuotaRequestInfo&
      info,\n    ::google::api::servicecontrol::v1::AllocateQuotaRequest* request)
      const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VerifyRequiredCheckFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1053,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1054,1
    - Dst: CheckRequest*::set_service_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1057,1
    - Dst: CheckRequest*::set_service_config_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1058,1
    - Dst: CreateTimestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1060,1
    - Dst: CheckRequest*::mutable_operation
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1061,1
    - Dst: SetOperationCommonFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1062,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1063,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1065,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1065,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1066,1
    - Dst: Operation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1069,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1070,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1073,1
    - Dst: get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1077,1
    - Dst: android_package_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1079,1
    - Dst: android_cert_fingerprint::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1082,1
    - Dst: ios_bundle_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1086,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1090,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - ' info'
    - request
    argTypes:
    - CheckRequestInfo
    - CheckRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1091
    functionName: espv2::api_proxy::service_control::RequestBuilder::FillCheckRequest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - android_cert_fingerprint::empty
    - OkStatus
    - CreateTimestamp
    - Operation*::mutable_labels
    - api_key::empty
    - ios_bundle_id::empty
    - referer::empty
    - CheckRequest*::mutable_operation
    - CheckRequest*::set_service_name
    - VerifyRequiredCheckFields
    - CheckRequest*::set_service_config_id
    - SetOperationCommonFields
    - Status::ok
    - client_ip::empty
    - get_service_agent
    - std::string
    - android_package_name::empty
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::FillCheckRequest(const CheckRequestInfo& info,\n
      \                                       CheckRequest* request) const"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VerifyRequiredReportFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1095,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1096,1
    - Dst: ReportRequest*::set_service_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1099,1
    - Dst: ReportRequest*::set_service_config_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1100,1
    - Dst: CreateTimestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1102,1
    - Dst: ReportRequest*::add_operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1103,1
    - Dst: SetOperationCommonFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1104,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1107,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1107,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1109,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1109,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1110,1
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1114,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1114,1
    - Dst: Operation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1115,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1117,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1117,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1121,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1131,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1131,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1136,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1143,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1143,1
    - Dst: FillLogEntry
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1144,1
    - Dst: Operation*::add_log_entries
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1145,1
    - Dst: check_response_info::consumer_project_number::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1148,1
    - Dst: espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1149,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1152,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 2
    argNames:
    - ' info'
    - request
    argTypes:
    - ReportRequestInfo
    - ReportRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1153
    functionName: espv2::api_proxy::service_control::RequestBuilder::FillReportRequest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
    - ASSERT
    - CreateTimestamp
    - Operation*::mutable_labels
    - Status::ok
    - FillLogEntry
    - operation_name::empty
    - check_response_info::consumer_project_number::empty
    - api_key::empty
    - ReportRequest*::add_operations
    - Operation*::set_consumer_id
    - operation_id::empty
    - VerifyRequiredReportFields
    - begin
    - SetOperationCommonFields
    - end
    - ReportRequest*::set_service_config_id
    - ReportRequest*::set_service_name
    - OkStatus
    - std::string
    - Operation*::add_log_entries
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::FillReportRequest(const ReportRequestInfo&
      info,\n                                         ReportRequest* request) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::google::api::servicecontrol::v1::ReportRequest*::add_operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1159,1
    - Dst: SetOperationCommonFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1160,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1163,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1163,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1165,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1165,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1166,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1169,1
    - Dst: Operation*::operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1169,1
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1172,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1172,1
    - Dst: Operation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1173,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1175,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1175,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1179,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1184,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1184,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1188,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - ' info'
    - request
    - current_time
    argTypes:
    - ReportRequestInfo
    - ::google::api::servicecontrol::v1::ReportRequest*
    - Timestamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1194
    functionName: espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 3
    functionsReached:
    - SetOperationCommonFields
    - Operation*::set_consumer_id
    - operation_name::empty
    - Operation*::operation_id
    - ASSERT
    - Operation*::mutable_labels
    - Operation*::set_operation_id
    - operation_id::empty
    - begin
    - Status::ok
    - OkStatus
    - ::google::api::servicecontrol::v1::ReportRequest*::add_operations
    - api_key::empty
    - std::string
    - end
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::AppendByConsumerOperations(\n    const ReportRequestInfo&
      info,\n    ::google::api::servicecontrol::v1::ReportRequest* request,\n    Timestamp
      current_time) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1200,1
    - Dst: metric_kind
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1200,1
    - Dst: value_type
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ' metric'
    argTypes:
    - ::google::api::MetricDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1206
    functionName: espv2::api_proxy::service_control::RequestBuilder::IsMetricSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - value_type
    - metric_kind
    - name
    linkageType: ''
    returnType: bool
    signature: "bool RequestBuilder::IsMetricSupported(\n    const ::google::api::MetricDescriptor&
      metric)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1212,1
    - Dst: value_type
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - ::google::api::LabelDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1217
    functionName: espv2::api_proxy::service_control::RequestBuilder::IsLabelSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - value_type
    - key
    linkageType: ''
    returnType: bool
    signature: "bool RequestBuilder::IsLabelSupported(\n    const ::google::api::LabelDescriptor&
      label)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Operation*::add_metric_value_sets
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:90,1
    - Dst: MetricValueSet*::set_metric_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:91,1
    - Dst: MetricValueSet*::add_metric_values
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - metric_name
    - operation
    argTypes:
    - char*
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: espv2::api_proxy::service_control::AddMetricValue
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 12
    functionsReached:
    - MetricValueSet*::set_metric_name
    - Operation*::add_metric_value_sets
    - MetricValueSet*::add_metric_values
    linkageType: ''
    returnType: MetricValue
    signature: MetricValue * AddMetricValue(const char* metric_name, Operation* operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:97,1
    - Dst: MetricValue*::set_int64_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - metric_name
    - value
    - operation
    argTypes:
    - char*
    - int64_t
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: espv2::api_proxy::service_control::AddInt64Metric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 6
    functionsReached:
    - espv2::api_proxy::service_control::AddMetricValue
    - MetricValue*::set_int64_value
    linkageType: ''
    returnType: void
    signature: "void AddInt64Metric(const char* metric_name, int64_t value,\n                    Operation*
      operation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:115,1
    - Dst: DistributionHelper::InitExponential
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:117,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:119,1
    - Dst: DistributionHelper::AddSample
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:120,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:121,1
    - Dst: MetricValue*::mutable_distribution_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:122,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' options'
    - metric_name
    - value
    - operation
    argTypes:
    - DistributionHelperOptions
    - char*
    - double
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::AddDistributionMetric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 30
    functionsReached:
    - DistributionHelper::InitExponential
    - espv2::api_proxy::service_control::AddMetricValue
    - OkStatus
    - MetricValue*::mutable_distribution_value
    - Status::ok
    - DistributionHelper::AddSample
    linkageType: ''
    returnType: Status
    signature: "Status AddDistributionMetric(const DistributionHelperOptions& options,\n
      \                            const char* metric_name, double value,\n                             Operation*
      operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddInt64Metric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:131,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' m'
    - operation
    argTypes:
    - SupportedMetric
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::set_int64_metric_to_constant_1
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddInt64Metric
    linkageType: ''
    returnType: Status
    signature: "Status set_int64_metric_to_constant_1(const SupportedMetric& m,\n
      \                                     const ReportRequestInfo&,\n                                      Operation*
      operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:139,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_size(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:149,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_response_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_response_size(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:161,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:172,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_backend_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:183,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_overhead_time(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: espv2::api_proxy::service_control::get_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 6
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: std::string
    signature: std::string get_service_agent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:367,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:368,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:369,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: espv2::api_proxy::service_control::get_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 24
    functionsReached:
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - grpc_response_code::value
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - grpc_response_code::has_value
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_status_code(const ReportRequestInfo& info)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:388,1
    - Dst: check_response_info::api_key_uid::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:394,1
    - Dst: auth_issuer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:396,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:397,1
    - Dst: auth_issuer::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: auth_issuer::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:399,1
    - Dst: auth_audience::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:401,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:402,1
    - Dst: auth_audience::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: auth_audience::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:404,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 409
    functionName: espv2::api_proxy::service_control::set_credential_id
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - auth_issuer::size
    - auth_issuer::empty
    - auth_audience::empty
    - absl::StrAppend
    - absl::StrCat
    - ASSERT
    - auth_issuer::data
    - auth_audience::data
    - Envoy::Base64Url::encode
    - auth_audience::size
    - OkStatus
    - api_key::empty
    - check_response_info::api_key_uid::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_credential_id(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:417,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 425
    functionName: espv2::api_proxy::service_control::set_error_type
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_error_type(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:430,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: espv2::api_proxy::service_control::set_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_protocol(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: espv2::api_proxy::service_control::set_backend_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_backend_protocol(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: espv2::api_proxy::service_control::set_consumer_project
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_consumer_project(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:457,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: espv2::api_proxy::service_control::set_referer
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - referer::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_referer(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                   Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:467,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:468,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 471
    functionName: espv2::api_proxy::service_control::set_response_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - snprintf
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:477,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: espv2::api_proxy::service_control::set_response_code_class
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code_class(const SupportedLabel& l,\n                               const
      ReportRequestInfo& info,\n                               Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: status::code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 488
    functionName: espv2::api_proxy::service_control::set_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - status::code
    - snprintf
    linkageType: ''
    returnType: Status
    signature: "Status set_status_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:493,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: espv2::api_proxy::service_control::set_location
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - location::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_location(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:505,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: espv2::api_proxy::service_control::set_api_method
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_method::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_method(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:514,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: espv2::api_proxy::service_control::set_api_version
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_version::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_version(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: espv2::api_proxy::service_control::set_platform
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_platform(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:530,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: espv2::api_proxy::service_control::set_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_service_agent
    linkageType: ''
    returnType: Status
    signature: "Status set_service_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                        Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: espv2::api_proxy::service_control::set_user_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_user_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                     Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:793,1
    - Dst: std::chrono::system_clock::time_point::time_since_epoch
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:794,1
    - Dst: Timestamp::set_seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:797,1
    - Dst: Timestamp::set_nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tp
    argTypes:
    - std::chrono::system_clock::time_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 800
    functionName: espv2::api_proxy::service_control::CreateTimestamp
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - Timestamp::set_nanos
    - Timestamp::set_seconds
    - std::chrono::system_clock::time_point::time_since_epoch
    linkageType: ''
    returnType: Timestamp
    signature: Timestamp CreateTimestamp(std::chrono::system_clock::time_point tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:803,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:804,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:806,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:807,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 810
    functionName: espv2::api_proxy::service_control::VerifyRequiredCheckFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_id::empty
    - operation_name::empty
    - Status
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredCheckFields(const OperationInfo& info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 812
    functionName: espv2::api_proxy::service_control::VerifyRequiredReportFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredReportFields(const OperationInfo&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:816,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:817,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:819,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:820,1
    - Dst: Operation*::mutable_start_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:822,1
    - Dst: Operation*::mutable_end_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' info'
    - ' current_time'
    - op
    argTypes:
    - OperationInfo
    - Timestamp
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 824
    functionName: espv2::api_proxy::service_control::SetOperationCommonFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_name::empty
    - operation_id::empty
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - Operation*::mutable_start_time
    - Operation*::mutable_end_time
    linkageType: ''
    returnType: void
    signature: "void SetOperationCommonFields(const OperationInfo& info,\n                              const
      Timestamp& current_time, Operation* op)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - trace_id
    - project_id
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 829
    functionName: espv2::api_proxy::service_control::TraceResourceName
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 6
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: std::string
    signature: "std::string TraceResourceName(absl::string_view trace_id,\n                              absl::string_view
      project_id)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: LogEntry*::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:834,1
    - Dst: LogEntry*::mutable_timestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:835,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:836,1
    - Dst: LogEntry*::set_severity
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:838,1
    - Dst: trace_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:841,1
    - Dst: tracing_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:842,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:843,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:844,1
    - Dst: gcp_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:845,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:846,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:847,1
    - Dst: LogEntry*::mutable_http_request
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:852,1
    - Dst: auto*::set_protocol
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: auto*::set_status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:855,1
    - Dst: auto*::set_request_method
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:856,1
    - Dst: url::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:858,1
    - Dst: auto*::set_request_url
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:859,1
    - Dst: auto*::set_request_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:862,1
    - Dst: auto*::set_response_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:865,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:867,1
    - Dst: auto*::set_remote_ip
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:868,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:870,1
    - Dst: auto*::set_referer
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:871,1
    - Dst: google::protobuf::util::TimeUtil::MillisecondsToDuration
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:875,1
    - Dst: auto*::mutable_latency
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:877,1
    - Dst: LogEntry*::mutable_struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:881,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:882,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:885,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:886,1
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:887,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:889,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:890,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:891,1
    - Dst: response_code_detail::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:894,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:895,1
    - Dst: producer_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:899,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:900,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:903,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:904,1
    - Dst: api_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:906,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:907,1
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:909,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:910,1
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:912,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:913,1
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:915,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:916,1
    - Dst: log_message::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:918,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:919,1
    - Dst: request_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:921,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:922,1
    - Dst: response_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:925,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:926,1
    - Dst: jwt_payloads::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:929,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:930,1
    - Dst: status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:936,1
    - Dst: Envoy::Grpc::Utility::grpcStatusToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:938,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:939,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:940,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:941,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 79
    argCount: 5
    argNames:
    - ' info'
    - ' name'
    - ' config_id'
    - ' current_time'
    - log_entry
    argTypes:
    - ReportRequestInfo
    - std::string
    - std::string
    - Timestamp
    - LogEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 943
    functionName: espv2::api_proxy::service_control::FillLogEntry
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::util::TimeUtil::MillisecondsToDuration
    - espv2::api_proxy::service_control::protocol::ToString
    - auto*::set_referer
    - Envoy::Grpc::Utility::grpcStatusToString
    - producer_project_id::empty
    - espv2::api_proxy::service_control::TraceResourceName
    - auto*::set_remote_ip
    - LogEntry*::set_name
    - client_ip::empty
    - api_version::empty
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - api_method::empty
    - trace_id::empty
    - response_headers::empty
    - LogEntry*::mutable_timestamp
    - auto*::set_status
    - LogEntry*::set_severity
    - grpc_response_code::has_value
    - log_message::empty
    - api_key::empty
    - set_string_value
    - api_name::empty
    - auto*::set_response_size
    - seconds
    - utils::Version::instance
    - auto*::set_protocol
    - LogEntry*::set_trace
    - tracing_project_id::empty
    - auto*::mutable_latency
    - nanos
    - request_headers::empty
    - url::empty
    - LogEntry*::mutable_http_request
    - status::message
    - referer::empty
    - location::empty
    - method::empty
    - gcp_project_id::empty
    - response_code_detail::empty
    - status::ok
    - auto*::set_request_method
    - grpc_response_code::value
    - LogEntry*::mutable_struct_payload
    - espv2::api_proxy::service_control::get_status_code
    - auto*::set_request_size
    - auto*::set_request_url
    - espv2::api_proxy::service_control::api_key::ToString
    - jwt_payloads::empty
    - set_number_value
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void FillLogEntry(const ReportRequestInfo& info, const std::string&
      name,\n                  const std::string& config_id, const Timestamp& current_time,\n
      \                 LogEntry* log_entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pred
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:951,1
    - Dst: std::vector::push_back
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - first
    - last
    - pred
    argTypes:
    - Element*
    - Element*
    - std::function<bool(const Element*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 957
    functionName: espv2::api_proxy::service_control::FilterPointers
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - pred
    linkageType: ''
    returnType: std::vector<const Element*>
    signature: "std::vector<const Element*> FilterPointers(\n    const Element* first,
      const Element* last,\n    std::function<bool(const Element*)> pred)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Operation*::add_metric_value_sets
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:90,1
    - Dst: MetricValueSet*::set_metric_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:91,1
    - Dst: MetricValueSet*::add_metric_values
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - metric_name
    - operation
    argTypes:
    - char*
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: espv2::api_proxy::service_control::AddMetricValue
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 14
    functionsReached:
    - MetricValueSet*::set_metric_name
    - Operation*::add_metric_value_sets
    - MetricValueSet*::add_metric_values
    linkageType: ''
    returnType: MetricValue
    signature: MetricValue * AddMetricValue(const char* metric_name, Operation* operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:97,1
    - Dst: MetricValue*::set_int64_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - metric_name
    - value
    - operation
    argTypes:
    - char*
    - int64_t
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: espv2::api_proxy::service_control::AddInt64Metric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 7
    functionsReached:
    - espv2::api_proxy::service_control::AddMetricValue
    - MetricValue*::set_int64_value
    linkageType: ''
    returnType: void
    signature: "void AddInt64Metric(const char* metric_name, int64_t value,\n                    Operation*
      operation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:115,1
    - Dst: DistributionHelper::InitExponential
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:117,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:119,1
    - Dst: DistributionHelper::AddSample
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:120,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:121,1
    - Dst: MetricValue*::mutable_distribution_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:122,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' options'
    - metric_name
    - value
    - operation
    argTypes:
    - DistributionHelperOptions
    - char*
    - double
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::AddDistributionMetric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 35
    functionsReached:
    - DistributionHelper::InitExponential
    - espv2::api_proxy::service_control::AddMetricValue
    - OkStatus
    - MetricValue*::mutable_distribution_value
    - Status::ok
    - DistributionHelper::AddSample
    linkageType: ''
    returnType: Status
    signature: "Status AddDistributionMetric(const DistributionHelperOptions& options,\n
      \                            const char* metric_name, double value,\n                             Operation*
      operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddInt64Metric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:131,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' m'
    - operation
    argTypes:
    - SupportedMetric
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::set_int64_metric_to_constant_1
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddInt64Metric
    linkageType: ''
    returnType: Status
    signature: "Status set_int64_metric_to_constant_1(const SupportedMetric& m,\n
      \                                     const ReportRequestInfo&,\n                                      Operation*
      operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:139,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_size(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:149,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_response_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_response_size(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:161,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:172,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_backend_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:183,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_overhead_time(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: espv2::api_proxy::service_control::get_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 7
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: std::string
    signature: std::string get_service_agent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:367,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:368,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:369,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: espv2::api_proxy::service_control::get_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 28
    functionsReached:
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - grpc_response_code::value
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - grpc_response_code::has_value
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_status_code(const ReportRequestInfo& info)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:388,1
    - Dst: check_response_info::api_key_uid::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:394,1
    - Dst: auth_issuer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:396,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:397,1
    - Dst: auth_issuer::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: auth_issuer::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:399,1
    - Dst: auth_audience::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:401,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:402,1
    - Dst: auth_audience::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: auth_audience::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:404,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 409
    functionName: espv2::api_proxy::service_control::set_credential_id
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - auth_issuer::size
    - auth_issuer::empty
    - auth_audience::empty
    - absl::StrAppend
    - absl::StrCat
    - ASSERT
    - auth_issuer::data
    - auth_audience::data
    - Envoy::Base64Url::encode
    - auth_audience::size
    - OkStatus
    - api_key::empty
    - check_response_info::api_key_uid::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_credential_id(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:417,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 425
    functionName: espv2::api_proxy::service_control::set_error_type
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_error_type(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:430,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: espv2::api_proxy::service_control::set_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_protocol(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: espv2::api_proxy::service_control::set_backend_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_backend_protocol(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: espv2::api_proxy::service_control::set_consumer_project
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_consumer_project(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:457,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: espv2::api_proxy::service_control::set_referer
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - referer::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_referer(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                   Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:467,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:468,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 471
    functionName: espv2::api_proxy::service_control::set_response_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - snprintf
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:477,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: espv2::api_proxy::service_control::set_response_code_class
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code_class(const SupportedLabel& l,\n                               const
      ReportRequestInfo& info,\n                               Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: status::code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 488
    functionName: espv2::api_proxy::service_control::set_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - status::code
    - snprintf
    linkageType: ''
    returnType: Status
    signature: "Status set_status_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:493,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: espv2::api_proxy::service_control::set_location
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - location::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_location(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:505,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: espv2::api_proxy::service_control::set_api_method
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_method::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_method(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:514,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: espv2::api_proxy::service_control::set_api_version
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_version::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_version(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: espv2::api_proxy::service_control::set_platform
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_platform(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:530,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: espv2::api_proxy::service_control::set_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_service_agent
    linkageType: ''
    returnType: Status
    signature: "Status set_service_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                        Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: espv2::api_proxy::service_control::set_user_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_user_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                     Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:793,1
    - Dst: std::chrono::system_clock::time_point::time_since_epoch
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:794,1
    - Dst: Timestamp::set_seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:797,1
    - Dst: Timestamp::set_nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tp
    argTypes:
    - std::chrono::system_clock::time_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 800
    functionName: espv2::api_proxy::service_control::CreateTimestamp
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - Timestamp::set_nanos
    - Timestamp::set_seconds
    - std::chrono::system_clock::time_point::time_since_epoch
    linkageType: ''
    returnType: Timestamp
    signature: Timestamp CreateTimestamp(std::chrono::system_clock::time_point tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:803,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:804,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:806,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:807,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 810
    functionName: espv2::api_proxy::service_control::VerifyRequiredCheckFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_id::empty
    - operation_name::empty
    - Status
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredCheckFields(const OperationInfo& info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 812
    functionName: espv2::api_proxy::service_control::VerifyRequiredReportFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredReportFields(const OperationInfo&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:816,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:817,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:819,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:820,1
    - Dst: Operation*::mutable_start_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:822,1
    - Dst: Operation*::mutable_end_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' info'
    - ' current_time'
    - op
    argTypes:
    - OperationInfo
    - Timestamp
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 824
    functionName: espv2::api_proxy::service_control::SetOperationCommonFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_name::empty
    - operation_id::empty
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - Operation*::mutable_start_time
    - Operation*::mutable_end_time
    linkageType: ''
    returnType: void
    signature: "void SetOperationCommonFields(const OperationInfo& info,\n                              const
      Timestamp& current_time, Operation* op)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - trace_id
    - project_id
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 829
    functionName: espv2::api_proxy::service_control::TraceResourceName
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 7
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: std::string
    signature: "std::string TraceResourceName(absl::string_view trace_id,\n                              absl::string_view
      project_id)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: LogEntry*::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:834,1
    - Dst: LogEntry*::mutable_timestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:835,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:836,1
    - Dst: LogEntry*::set_severity
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:838,1
    - Dst: trace_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:841,1
    - Dst: tracing_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:842,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:843,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:844,1
    - Dst: gcp_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:845,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:846,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:847,1
    - Dst: LogEntry*::mutable_http_request
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:852,1
    - Dst: auto*::set_protocol
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: auto*::set_status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:855,1
    - Dst: auto*::set_request_method
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:856,1
    - Dst: url::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:858,1
    - Dst: auto*::set_request_url
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:859,1
    - Dst: auto*::set_request_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:862,1
    - Dst: auto*::set_response_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:865,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:867,1
    - Dst: auto*::set_remote_ip
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:868,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:870,1
    - Dst: auto*::set_referer
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:871,1
    - Dst: google::protobuf::util::TimeUtil::MillisecondsToDuration
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:875,1
    - Dst: auto*::mutable_latency
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:877,1
    - Dst: LogEntry*::mutable_struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:881,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:882,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:885,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:886,1
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:887,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:889,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:890,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:891,1
    - Dst: response_code_detail::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:894,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:895,1
    - Dst: producer_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:899,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:900,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:903,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:904,1
    - Dst: api_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:906,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:907,1
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:909,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:910,1
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:912,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:913,1
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:915,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:916,1
    - Dst: log_message::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:918,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:919,1
    - Dst: request_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:921,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:922,1
    - Dst: response_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:925,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:926,1
    - Dst: jwt_payloads::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:929,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:930,1
    - Dst: status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:936,1
    - Dst: Envoy::Grpc::Utility::grpcStatusToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:938,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:939,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:940,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:941,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 79
    argCount: 5
    argNames:
    - ' info'
    - ' name'
    - ' config_id'
    - ' current_time'
    - log_entry
    argTypes:
    - ReportRequestInfo
    - std::string
    - std::string
    - Timestamp
    - LogEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 943
    functionName: espv2::api_proxy::service_control::FillLogEntry
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::util::TimeUtil::MillisecondsToDuration
    - espv2::api_proxy::service_control::protocol::ToString
    - auto*::set_referer
    - Envoy::Grpc::Utility::grpcStatusToString
    - producer_project_id::empty
    - espv2::api_proxy::service_control::TraceResourceName
    - auto*::set_remote_ip
    - LogEntry*::set_name
    - client_ip::empty
    - api_version::empty
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - api_method::empty
    - trace_id::empty
    - response_headers::empty
    - LogEntry*::mutable_timestamp
    - auto*::set_status
    - LogEntry*::set_severity
    - grpc_response_code::has_value
    - log_message::empty
    - api_key::empty
    - set_string_value
    - api_name::empty
    - auto*::set_response_size
    - seconds
    - utils::Version::instance
    - auto*::set_protocol
    - LogEntry*::set_trace
    - tracing_project_id::empty
    - auto*::mutable_latency
    - nanos
    - request_headers::empty
    - url::empty
    - LogEntry*::mutable_http_request
    - status::message
    - referer::empty
    - location::empty
    - method::empty
    - gcp_project_id::empty
    - response_code_detail::empty
    - status::ok
    - auto*::set_request_method
    - grpc_response_code::value
    - LogEntry*::mutable_struct_payload
    - espv2::api_proxy::service_control::get_status_code
    - auto*::set_request_size
    - auto*::set_request_url
    - espv2::api_proxy::service_control::api_key::ToString
    - jwt_payloads::empty
    - set_number_value
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void FillLogEntry(const ReportRequestInfo& info, const std::string&
      name,\n                  const std::string& config_id, const Timestamp& current_time,\n
      \                 LogEntry* log_entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pred
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:951,1
    - Dst: std::vector::push_back
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - first
    - last
    - pred
    argTypes:
    - Element*
    - Element*
    - std::function<bool(const Element*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 957
    functionName: espv2::api_proxy::service_control::FilterPointers
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - pred
    linkageType: ''
    returnType: std::vector<const Element*>
    signature: "std::vector<const Element*> FilterPointers(\n    const Element* first,
      const Element* last,\n    std::function<bool(const Element*)> pred)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:964,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:964,1
    - Dst: FilterPointers<SupportedMetric>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:965,1
    - Dst: FilterPointers<SupportedLabel>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' logs'
    - ' service_name'
    - ' service_config_id'
    argTypes:
    - std::set<std::string>
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 972
    functionName: espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - FilterPointers<SupportedLabel>
    - begin
    - FilterPointers<SupportedMetric>
    - end
    linkageType: ''
    returnType: void
    signature: "void RequestBuilder::RequestBuilder(const std::set<std::string>& logs,\n
      \                              const std::string& service_name,\n                               const
      std::string& service_config_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:979,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:979,1
    - Dst: FilterPointers<SupportedMetric>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:980,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:983,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:983,1
    - Dst: FilterPointers<SupportedLabel>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:985,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:989,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:989,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - ' logs'
    - ' metrics'
    - ' labels'
    - ' service_name'
    - ' service_config_id'
    argTypes:
    - std::set<std::string>
    - std::set<std::string>
    - std::set<std::string>
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 992
    functionName: espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - FilterPointers<SupportedMetric>
    - FilterPointers<SupportedLabel>
    - begin
    - find
    - end
    linkageType: ''
    returnType: void
    signature: "void RequestBuilder::RequestBuilder(const std::set<std::string>& logs,\n
      \                              const std::set<std::string>& metrics,\n                               const
      std::set<std::string>& labels,\n                               const std::string&
      service_name,\n                               const std::string& service_config_id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest*::mutable_allocate_operation
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:998,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1001,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_config_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1003,1
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1006,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1007,1
    - Dst: method_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1010,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_method_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1011,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1014,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1016,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1016,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1017,1
    - Dst: producer_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1018,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1019,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1019,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1020,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_quota_mode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1024,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1029,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1030,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1034,1
    - Dst: get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1038,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::add_quota_metrics
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1041,1
    - Dst: MetricValueSet*::set_metric_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1042,1
    - Dst: MetricValueSet*::add_metric_values
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1043,1
    - Dst: MetricValue*::set_int64_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1045,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1048,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - ' info'
    - request
    argTypes:
    - QuotaRequestInfo
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1049
    functionName: espv2::api_proxy::service_control::RequestBuilder::FillAllocateQuotaRequest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_name
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_quota_mode
    - producer_project_id::empty
    - get_service_agent
    - client_ip::empty
    - method_name::empty
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_config_id
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_method_name
    - api_key::empty
    - ::google::api::servicecontrol::v1::QuotaOperation*::add_quota_metrics
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_consumer_id
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*::mutable_allocate_operation
    - operation_id::empty
    - MetricValueSet*::set_metric_name
    - referer::empty
    - MetricValueSet*::add_metric_values
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_operation_id
    - MetricValue*::set_int64_value
    - ::google::api::servicecontrol::v1::QuotaOperation*::mutable_labels
    - OkStatus
    - std::string
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::FillAllocateQuotaRequest(\n    const QuotaRequestInfo&
      info,\n    ::google::api::servicecontrol::v1::AllocateQuotaRequest* request)
      const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VerifyRequiredCheckFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1053,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1054,1
    - Dst: CheckRequest*::set_service_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1057,1
    - Dst: CheckRequest*::set_service_config_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1058,1
    - Dst: CreateTimestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1060,1
    - Dst: CheckRequest*::mutable_operation
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1061,1
    - Dst: SetOperationCommonFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1062,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1063,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1065,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1065,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1066,1
    - Dst: Operation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1069,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1070,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1073,1
    - Dst: get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1077,1
    - Dst: android_package_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1079,1
    - Dst: android_cert_fingerprint::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1082,1
    - Dst: ios_bundle_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1086,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1090,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - ' info'
    - request
    argTypes:
    - CheckRequestInfo
    - CheckRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1091
    functionName: espv2::api_proxy::service_control::RequestBuilder::FillCheckRequest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - android_cert_fingerprint::empty
    - OkStatus
    - CreateTimestamp
    - Operation*::mutable_labels
    - api_key::empty
    - ios_bundle_id::empty
    - referer::empty
    - CheckRequest*::mutable_operation
    - CheckRequest*::set_service_name
    - VerifyRequiredCheckFields
    - CheckRequest*::set_service_config_id
    - SetOperationCommonFields
    - Status::ok
    - client_ip::empty
    - get_service_agent
    - std::string
    - android_package_name::empty
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::FillCheckRequest(const CheckRequestInfo& info,\n
      \                                       CheckRequest* request) const"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VerifyRequiredReportFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1095,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1096,1
    - Dst: ReportRequest*::set_service_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1099,1
    - Dst: ReportRequest*::set_service_config_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1100,1
    - Dst: CreateTimestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1102,1
    - Dst: ReportRequest*::add_operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1103,1
    - Dst: SetOperationCommonFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1104,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1107,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1107,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1109,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1109,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1110,1
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1114,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1114,1
    - Dst: Operation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1115,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1117,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1117,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1121,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1131,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1131,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1136,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1143,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1143,1
    - Dst: FillLogEntry
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1144,1
    - Dst: Operation*::add_log_entries
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1145,1
    - Dst: check_response_info::consumer_project_number::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1148,1
    - Dst: espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1149,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1152,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 2
    argNames:
    - ' info'
    - request
    argTypes:
    - ReportRequestInfo
    - ReportRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1153
    functionName: espv2::api_proxy::service_control::RequestBuilder::FillReportRequest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
    - ASSERT
    - CreateTimestamp
    - Operation*::mutable_labels
    - Status::ok
    - FillLogEntry
    - operation_name::empty
    - check_response_info::consumer_project_number::empty
    - api_key::empty
    - ReportRequest*::add_operations
    - Operation*::set_consumer_id
    - operation_id::empty
    - VerifyRequiredReportFields
    - begin
    - SetOperationCommonFields
    - end
    - ReportRequest*::set_service_config_id
    - ReportRequest*::set_service_name
    - OkStatus
    - std::string
    - Operation*::add_log_entries
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::FillReportRequest(const ReportRequestInfo&
      info,\n                                         ReportRequest* request) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::google::api::servicecontrol::v1::ReportRequest*::add_operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1159,1
    - Dst: SetOperationCommonFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1160,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1163,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1163,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1165,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1165,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1166,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1169,1
    - Dst: Operation*::operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1169,1
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1172,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1172,1
    - Dst: Operation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1173,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1175,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1175,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1179,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1184,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1184,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1188,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - ' info'
    - request
    - current_time
    argTypes:
    - ReportRequestInfo
    - ::google::api::servicecontrol::v1::ReportRequest*
    - Timestamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1194
    functionName: espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 4
    functionsReached:
    - SetOperationCommonFields
    - Operation*::set_consumer_id
    - operation_name::empty
    - Operation*::operation_id
    - ASSERT
    - Operation*::mutable_labels
    - Operation*::set_operation_id
    - operation_id::empty
    - begin
    - Status::ok
    - OkStatus
    - ::google::api::servicecontrol::v1::ReportRequest*::add_operations
    - api_key::empty
    - std::string
    - end
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::AppendByConsumerOperations(\n    const ReportRequestInfo&
      info,\n    ::google::api::servicecontrol::v1::ReportRequest* request,\n    Timestamp
      current_time) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1200,1
    - Dst: metric_kind
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1200,1
    - Dst: value_type
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ' metric'
    argTypes:
    - ::google::api::MetricDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1206
    functionName: espv2::api_proxy::service_control::RequestBuilder::IsMetricSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - value_type
    - metric_kind
    - name
    linkageType: ''
    returnType: bool
    signature: "bool RequestBuilder::IsMetricSupported(\n    const ::google::api::MetricDescriptor&
      metric)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1212,1
    - Dst: value_type
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - ::google::api::LabelDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1217
    functionName: espv2::api_proxy::service_control::RequestBuilder::IsLabelSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - value_type
    - key
    linkageType: ''
    returnType: bool
    signature: "bool RequestBuilder::IsLabelSupported(\n    const ::google::api::LabelDescriptor&
      label)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Operation*::add_metric_value_sets
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:90,1
    - Dst: MetricValueSet*::set_metric_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:91,1
    - Dst: MetricValueSet*::add_metric_values
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - metric_name
    - operation
    argTypes:
    - char*
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: espv2::api_proxy::service_control::AddMetricValue
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 16
    functionsReached:
    - MetricValueSet*::set_metric_name
    - Operation*::add_metric_value_sets
    - MetricValueSet*::add_metric_values
    linkageType: ''
    returnType: MetricValue
    signature: MetricValue * AddMetricValue(const char* metric_name, Operation* operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:97,1
    - Dst: MetricValue*::set_int64_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - metric_name
    - value
    - operation
    argTypes:
    - char*
    - int64_t
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: espv2::api_proxy::service_control::AddInt64Metric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 8
    functionsReached:
    - espv2::api_proxy::service_control::AddMetricValue
    - MetricValue*::set_int64_value
    linkageType: ''
    returnType: void
    signature: "void AddInt64Metric(const char* metric_name, int64_t value,\n                    Operation*
      operation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:115,1
    - Dst: DistributionHelper::InitExponential
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:117,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:119,1
    - Dst: DistributionHelper::AddSample
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:120,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:121,1
    - Dst: MetricValue*::mutable_distribution_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:122,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' options'
    - metric_name
    - value
    - operation
    argTypes:
    - DistributionHelperOptions
    - char*
    - double
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::AddDistributionMetric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 40
    functionsReached:
    - DistributionHelper::InitExponential
    - espv2::api_proxy::service_control::AddMetricValue
    - OkStatus
    - MetricValue*::mutable_distribution_value
    - Status::ok
    - DistributionHelper::AddSample
    linkageType: ''
    returnType: Status
    signature: "Status AddDistributionMetric(const DistributionHelperOptions& options,\n
      \                            const char* metric_name, double value,\n                             Operation*
      operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddInt64Metric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:131,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' m'
    - operation
    argTypes:
    - SupportedMetric
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::set_int64_metric_to_constant_1
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddInt64Metric
    linkageType: ''
    returnType: Status
    signature: "Status set_int64_metric_to_constant_1(const SupportedMetric& m,\n
      \                                     const ReportRequestInfo&,\n                                      Operation*
      operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:139,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_size(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:149,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_response_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_response_size(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:161,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:172,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_backend_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:183,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_overhead_time(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: espv2::api_proxy::service_control::get_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 8
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: std::string
    signature: std::string get_service_agent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:367,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:368,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:369,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: espv2::api_proxy::service_control::get_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 32
    functionsReached:
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - grpc_response_code::value
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - grpc_response_code::has_value
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_status_code(const ReportRequestInfo& info)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:388,1
    - Dst: check_response_info::api_key_uid::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:394,1
    - Dst: auth_issuer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:396,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:397,1
    - Dst: auth_issuer::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: auth_issuer::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:399,1
    - Dst: auth_audience::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:401,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:402,1
    - Dst: auth_audience::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: auth_audience::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:404,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 409
    functionName: espv2::api_proxy::service_control::set_credential_id
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - auth_issuer::size
    - auth_issuer::empty
    - auth_audience::empty
    - absl::StrAppend
    - absl::StrCat
    - ASSERT
    - auth_issuer::data
    - auth_audience::data
    - Envoy::Base64Url::encode
    - auth_audience::size
    - OkStatus
    - api_key::empty
    - check_response_info::api_key_uid::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_credential_id(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:417,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 425
    functionName: espv2::api_proxy::service_control::set_error_type
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_error_type(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:430,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: espv2::api_proxy::service_control::set_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_protocol(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: espv2::api_proxy::service_control::set_backend_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_backend_protocol(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: espv2::api_proxy::service_control::set_consumer_project
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_consumer_project(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:457,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: espv2::api_proxy::service_control::set_referer
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - referer::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_referer(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                   Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:467,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:468,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 471
    functionName: espv2::api_proxy::service_control::set_response_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - snprintf
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:477,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: espv2::api_proxy::service_control::set_response_code_class
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code_class(const SupportedLabel& l,\n                               const
      ReportRequestInfo& info,\n                               Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: status::code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 488
    functionName: espv2::api_proxy::service_control::set_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - status::code
    - snprintf
    linkageType: ''
    returnType: Status
    signature: "Status set_status_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:493,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: espv2::api_proxy::service_control::set_location
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - location::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_location(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:505,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: espv2::api_proxy::service_control::set_api_method
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_method::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_method(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:514,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: espv2::api_proxy::service_control::set_api_version
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_version::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_version(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: espv2::api_proxy::service_control::set_platform
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_platform(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:530,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: espv2::api_proxy::service_control::set_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_service_agent
    linkageType: ''
    returnType: Status
    signature: "Status set_service_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                        Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: espv2::api_proxy::service_control::set_user_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_user_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                     Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:793,1
    - Dst: std::chrono::system_clock::time_point::time_since_epoch
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:794,1
    - Dst: Timestamp::set_seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:797,1
    - Dst: Timestamp::set_nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tp
    argTypes:
    - std::chrono::system_clock::time_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 800
    functionName: espv2::api_proxy::service_control::CreateTimestamp
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - Timestamp::set_nanos
    - Timestamp::set_seconds
    - std::chrono::system_clock::time_point::time_since_epoch
    linkageType: ''
    returnType: Timestamp
    signature: Timestamp CreateTimestamp(std::chrono::system_clock::time_point tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:803,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:804,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:806,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:807,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 810
    functionName: espv2::api_proxy::service_control::VerifyRequiredCheckFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_id::empty
    - operation_name::empty
    - Status
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredCheckFields(const OperationInfo& info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 812
    functionName: espv2::api_proxy::service_control::VerifyRequiredReportFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredReportFields(const OperationInfo&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:816,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:817,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:819,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:820,1
    - Dst: Operation*::mutable_start_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:822,1
    - Dst: Operation*::mutable_end_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' info'
    - ' current_time'
    - op
    argTypes:
    - OperationInfo
    - Timestamp
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 824
    functionName: espv2::api_proxy::service_control::SetOperationCommonFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_name::empty
    - operation_id::empty
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - Operation*::mutable_start_time
    - Operation*::mutable_end_time
    linkageType: ''
    returnType: void
    signature: "void SetOperationCommonFields(const OperationInfo& info,\n                              const
      Timestamp& current_time, Operation* op)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - trace_id
    - project_id
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 829
    functionName: espv2::api_proxy::service_control::TraceResourceName
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 8
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: std::string
    signature: "std::string TraceResourceName(absl::string_view trace_id,\n                              absl::string_view
      project_id)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: LogEntry*::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:834,1
    - Dst: LogEntry*::mutable_timestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:835,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:836,1
    - Dst: LogEntry*::set_severity
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:838,1
    - Dst: trace_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:841,1
    - Dst: tracing_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:842,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:843,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:844,1
    - Dst: gcp_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:845,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:846,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:847,1
    - Dst: LogEntry*::mutable_http_request
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:852,1
    - Dst: auto*::set_protocol
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: auto*::set_status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:855,1
    - Dst: auto*::set_request_method
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:856,1
    - Dst: url::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:858,1
    - Dst: auto*::set_request_url
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:859,1
    - Dst: auto*::set_request_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:862,1
    - Dst: auto*::set_response_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:865,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:867,1
    - Dst: auto*::set_remote_ip
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:868,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:870,1
    - Dst: auto*::set_referer
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:871,1
    - Dst: google::protobuf::util::TimeUtil::MillisecondsToDuration
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:875,1
    - Dst: auto*::mutable_latency
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:877,1
    - Dst: LogEntry*::mutable_struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:881,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:882,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:885,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:886,1
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:887,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:889,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:890,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:891,1
    - Dst: response_code_detail::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:894,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:895,1
    - Dst: producer_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:899,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:900,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:903,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:904,1
    - Dst: api_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:906,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:907,1
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:909,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:910,1
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:912,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:913,1
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:915,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:916,1
    - Dst: log_message::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:918,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:919,1
    - Dst: request_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:921,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:922,1
    - Dst: response_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:925,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:926,1
    - Dst: jwt_payloads::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:929,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:930,1
    - Dst: status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:936,1
    - Dst: Envoy::Grpc::Utility::grpcStatusToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:938,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:939,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:940,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:941,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 79
    argCount: 5
    argNames:
    - ' info'
    - ' name'
    - ' config_id'
    - ' current_time'
    - log_entry
    argTypes:
    - ReportRequestInfo
    - std::string
    - std::string
    - Timestamp
    - LogEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 943
    functionName: espv2::api_proxy::service_control::FillLogEntry
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::util::TimeUtil::MillisecondsToDuration
    - espv2::api_proxy::service_control::protocol::ToString
    - auto*::set_referer
    - Envoy::Grpc::Utility::grpcStatusToString
    - producer_project_id::empty
    - espv2::api_proxy::service_control::TraceResourceName
    - auto*::set_remote_ip
    - LogEntry*::set_name
    - client_ip::empty
    - api_version::empty
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - api_method::empty
    - trace_id::empty
    - response_headers::empty
    - LogEntry*::mutable_timestamp
    - auto*::set_status
    - LogEntry*::set_severity
    - grpc_response_code::has_value
    - log_message::empty
    - api_key::empty
    - set_string_value
    - api_name::empty
    - auto*::set_response_size
    - seconds
    - utils::Version::instance
    - auto*::set_protocol
    - LogEntry*::set_trace
    - tracing_project_id::empty
    - auto*::mutable_latency
    - nanos
    - request_headers::empty
    - url::empty
    - LogEntry*::mutable_http_request
    - status::message
    - referer::empty
    - location::empty
    - method::empty
    - gcp_project_id::empty
    - response_code_detail::empty
    - status::ok
    - auto*::set_request_method
    - grpc_response_code::value
    - LogEntry*::mutable_struct_payload
    - espv2::api_proxy::service_control::get_status_code
    - auto*::set_request_size
    - auto*::set_request_url
    - espv2::api_proxy::service_control::api_key::ToString
    - jwt_payloads::empty
    - set_number_value
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void FillLogEntry(const ReportRequestInfo& info, const std::string&
      name,\n                  const std::string& config_id, const Timestamp& current_time,\n
      \                 LogEntry* log_entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pred
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:951,1
    - Dst: std::vector::push_back
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - first
    - last
    - pred
    argTypes:
    - Element*
    - Element*
    - std::function<bool(const Element*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 957
    functionName: espv2::api_proxy::service_control::FilterPointers
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - pred
    linkageType: ''
    returnType: std::vector<const Element*>
    signature: "std::vector<const Element*> FilterPointers(\n    const Element* first,
      const Element* last,\n    std::function<bool(const Element*)> pred)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Operation*::add_metric_value_sets
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:90,1
    - Dst: MetricValueSet*::set_metric_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:91,1
    - Dst: MetricValueSet*::add_metric_values
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - metric_name
    - operation
    argTypes:
    - char*
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: espv2::api_proxy::service_control::AddMetricValue
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 18
    functionsReached:
    - MetricValueSet*::set_metric_name
    - Operation*::add_metric_value_sets
    - MetricValueSet*::add_metric_values
    linkageType: ''
    returnType: MetricValue
    signature: MetricValue * AddMetricValue(const char* metric_name, Operation* operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:97,1
    - Dst: MetricValue*::set_int64_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - metric_name
    - value
    - operation
    argTypes:
    - char*
    - int64_t
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: espv2::api_proxy::service_control::AddInt64Metric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 9
    functionsReached:
    - espv2::api_proxy::service_control::AddMetricValue
    - MetricValue*::set_int64_value
    linkageType: ''
    returnType: void
    signature: "void AddInt64Metric(const char* metric_name, int64_t value,\n                    Operation*
      operation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:115,1
    - Dst: DistributionHelper::InitExponential
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:117,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:119,1
    - Dst: DistributionHelper::AddSample
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:120,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:121,1
    - Dst: MetricValue*::mutable_distribution_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:122,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' options'
    - metric_name
    - value
    - operation
    argTypes:
    - DistributionHelperOptions
    - char*
    - double
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::AddDistributionMetric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 45
    functionsReached:
    - DistributionHelper::InitExponential
    - espv2::api_proxy::service_control::AddMetricValue
    - OkStatus
    - MetricValue*::mutable_distribution_value
    - Status::ok
    - DistributionHelper::AddSample
    linkageType: ''
    returnType: Status
    signature: "Status AddDistributionMetric(const DistributionHelperOptions& options,\n
      \                            const char* metric_name, double value,\n                             Operation*
      operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddInt64Metric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:131,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' m'
    - operation
    argTypes:
    - SupportedMetric
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::set_int64_metric_to_constant_1
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddInt64Metric
    linkageType: ''
    returnType: Status
    signature: "Status set_int64_metric_to_constant_1(const SupportedMetric& m,\n
      \                                     const ReportRequestInfo&,\n                                      Operation*
      operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:139,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_size(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:149,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_response_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_response_size(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:161,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:172,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_backend_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:183,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_overhead_time(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: espv2::api_proxy::service_control::get_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 9
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: std::string
    signature: std::string get_service_agent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:367,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:368,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:369,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: espv2::api_proxy::service_control::get_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 36
    functionsReached:
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - grpc_response_code::value
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - grpc_response_code::has_value
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_status_code(const ReportRequestInfo& info)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:388,1
    - Dst: check_response_info::api_key_uid::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:394,1
    - Dst: auth_issuer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:396,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:397,1
    - Dst: auth_issuer::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: auth_issuer::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:399,1
    - Dst: auth_audience::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:401,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:402,1
    - Dst: auth_audience::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: auth_audience::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:404,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 409
    functionName: espv2::api_proxy::service_control::set_credential_id
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - auth_issuer::size
    - auth_issuer::empty
    - auth_audience::empty
    - absl::StrAppend
    - absl::StrCat
    - ASSERT
    - auth_issuer::data
    - auth_audience::data
    - Envoy::Base64Url::encode
    - auth_audience::size
    - OkStatus
    - api_key::empty
    - check_response_info::api_key_uid::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_credential_id(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:417,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 425
    functionName: espv2::api_proxy::service_control::set_error_type
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_error_type(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:430,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: espv2::api_proxy::service_control::set_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_protocol(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: espv2::api_proxy::service_control::set_backend_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_backend_protocol(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: espv2::api_proxy::service_control::set_consumer_project
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_consumer_project(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:457,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: espv2::api_proxy::service_control::set_referer
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - referer::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_referer(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                   Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:467,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:468,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 471
    functionName: espv2::api_proxy::service_control::set_response_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - snprintf
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:477,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: espv2::api_proxy::service_control::set_response_code_class
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code_class(const SupportedLabel& l,\n                               const
      ReportRequestInfo& info,\n                               Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: status::code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 488
    functionName: espv2::api_proxy::service_control::set_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - status::code
    - snprintf
    linkageType: ''
    returnType: Status
    signature: "Status set_status_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:493,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: espv2::api_proxy::service_control::set_location
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - location::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_location(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:505,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: espv2::api_proxy::service_control::set_api_method
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_method::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_method(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:514,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: espv2::api_proxy::service_control::set_api_version
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_version::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_version(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: espv2::api_proxy::service_control::set_platform
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_platform(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:530,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: espv2::api_proxy::service_control::set_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_service_agent
    linkageType: ''
    returnType: Status
    signature: "Status set_service_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                        Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: espv2::api_proxy::service_control::set_user_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_user_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                     Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:793,1
    - Dst: std::chrono::system_clock::time_point::time_since_epoch
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:794,1
    - Dst: Timestamp::set_seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:797,1
    - Dst: Timestamp::set_nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tp
    argTypes:
    - std::chrono::system_clock::time_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 800
    functionName: espv2::api_proxy::service_control::CreateTimestamp
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - Timestamp::set_nanos
    - Timestamp::set_seconds
    - std::chrono::system_clock::time_point::time_since_epoch
    linkageType: ''
    returnType: Timestamp
    signature: Timestamp CreateTimestamp(std::chrono::system_clock::time_point tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:803,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:804,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:806,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:807,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 810
    functionName: espv2::api_proxy::service_control::VerifyRequiredCheckFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_id::empty
    - operation_name::empty
    - Status
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredCheckFields(const OperationInfo& info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 812
    functionName: espv2::api_proxy::service_control::VerifyRequiredReportFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredReportFields(const OperationInfo&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:816,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:817,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:819,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:820,1
    - Dst: Operation*::mutable_start_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:822,1
    - Dst: Operation*::mutable_end_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' info'
    - ' current_time'
    - op
    argTypes:
    - OperationInfo
    - Timestamp
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 824
    functionName: espv2::api_proxy::service_control::SetOperationCommonFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_name::empty
    - operation_id::empty
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - Operation*::mutable_start_time
    - Operation*::mutable_end_time
    linkageType: ''
    returnType: void
    signature: "void SetOperationCommonFields(const OperationInfo& info,\n                              const
      Timestamp& current_time, Operation* op)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - trace_id
    - project_id
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 829
    functionName: espv2::api_proxy::service_control::TraceResourceName
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 9
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: std::string
    signature: "std::string TraceResourceName(absl::string_view trace_id,\n                              absl::string_view
      project_id)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: LogEntry*::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:834,1
    - Dst: LogEntry*::mutable_timestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:835,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:836,1
    - Dst: LogEntry*::set_severity
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:838,1
    - Dst: trace_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:841,1
    - Dst: tracing_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:842,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:843,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:844,1
    - Dst: gcp_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:845,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:846,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:847,1
    - Dst: LogEntry*::mutable_http_request
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:852,1
    - Dst: auto*::set_protocol
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: auto*::set_status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:855,1
    - Dst: auto*::set_request_method
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:856,1
    - Dst: url::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:858,1
    - Dst: auto*::set_request_url
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:859,1
    - Dst: auto*::set_request_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:862,1
    - Dst: auto*::set_response_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:865,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:867,1
    - Dst: auto*::set_remote_ip
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:868,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:870,1
    - Dst: auto*::set_referer
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:871,1
    - Dst: google::protobuf::util::TimeUtil::MillisecondsToDuration
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:875,1
    - Dst: auto*::mutable_latency
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:877,1
    - Dst: LogEntry*::mutable_struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:881,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:882,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:885,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:886,1
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:887,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:889,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:890,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:891,1
    - Dst: response_code_detail::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:894,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:895,1
    - Dst: producer_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:899,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:900,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:903,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:904,1
    - Dst: api_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:906,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:907,1
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:909,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:910,1
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:912,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:913,1
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:915,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:916,1
    - Dst: log_message::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:918,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:919,1
    - Dst: request_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:921,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:922,1
    - Dst: response_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:925,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:926,1
    - Dst: jwt_payloads::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:929,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:930,1
    - Dst: status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:936,1
    - Dst: Envoy::Grpc::Utility::grpcStatusToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:938,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:939,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:940,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:941,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 79
    argCount: 5
    argNames:
    - ' info'
    - ' name'
    - ' config_id'
    - ' current_time'
    - log_entry
    argTypes:
    - ReportRequestInfo
    - std::string
    - std::string
    - Timestamp
    - LogEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 943
    functionName: espv2::api_proxy::service_control::FillLogEntry
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::util::TimeUtil::MillisecondsToDuration
    - espv2::api_proxy::service_control::protocol::ToString
    - auto*::set_referer
    - Envoy::Grpc::Utility::grpcStatusToString
    - producer_project_id::empty
    - espv2::api_proxy::service_control::TraceResourceName
    - auto*::set_remote_ip
    - LogEntry*::set_name
    - client_ip::empty
    - api_version::empty
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - api_method::empty
    - trace_id::empty
    - response_headers::empty
    - LogEntry*::mutable_timestamp
    - auto*::set_status
    - LogEntry*::set_severity
    - grpc_response_code::has_value
    - log_message::empty
    - api_key::empty
    - set_string_value
    - api_name::empty
    - auto*::set_response_size
    - seconds
    - utils::Version::instance
    - auto*::set_protocol
    - LogEntry*::set_trace
    - tracing_project_id::empty
    - auto*::mutable_latency
    - nanos
    - request_headers::empty
    - url::empty
    - LogEntry*::mutable_http_request
    - status::message
    - referer::empty
    - location::empty
    - method::empty
    - gcp_project_id::empty
    - response_code_detail::empty
    - status::ok
    - auto*::set_request_method
    - grpc_response_code::value
    - LogEntry*::mutable_struct_payload
    - espv2::api_proxy::service_control::get_status_code
    - auto*::set_request_size
    - auto*::set_request_url
    - espv2::api_proxy::service_control::api_key::ToString
    - jwt_payloads::empty
    - set_number_value
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void FillLogEntry(const ReportRequestInfo& info, const std::string&
      name,\n                  const std::string& config_id, const Timestamp& current_time,\n
      \                 LogEntry* log_entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pred
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:951,1
    - Dst: std::vector::push_back
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - first
    - last
    - pred
    argTypes:
    - Element*
    - Element*
    - std::function<bool(const Element*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 957
    functionName: espv2::api_proxy::service_control::FilterPointers
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - pred
    linkageType: ''
    returnType: std::vector<const Element*>
    signature: "std::vector<const Element*> FilterPointers(\n    const Element* first,
      const Element* last,\n    std::function<bool(const Element*)> pred)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:964,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:964,1
    - Dst: FilterPointers<SupportedMetric>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:965,1
    - Dst: FilterPointers<SupportedLabel>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' logs'
    - ' service_name'
    - ' service_config_id'
    argTypes:
    - std::set<std::string>
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 972
    functionName: espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - FilterPointers<SupportedLabel>
    - begin
    - FilterPointers<SupportedMetric>
    - end
    linkageType: ''
    returnType: void
    signature: "void RequestBuilder::RequestBuilder(const std::set<std::string>& logs,\n
      \                              const std::string& service_name,\n                               const
      std::string& service_config_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:979,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:979,1
    - Dst: FilterPointers<SupportedMetric>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:980,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:983,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:983,1
    - Dst: FilterPointers<SupportedLabel>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:985,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:989,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:989,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - ' logs'
    - ' metrics'
    - ' labels'
    - ' service_name'
    - ' service_config_id'
    argTypes:
    - std::set<std::string>
    - std::set<std::string>
    - std::set<std::string>
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 992
    functionName: espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - FilterPointers<SupportedMetric>
    - FilterPointers<SupportedLabel>
    - begin
    - find
    - end
    linkageType: ''
    returnType: void
    signature: "void RequestBuilder::RequestBuilder(const std::set<std::string>& logs,\n
      \                              const std::set<std::string>& metrics,\n                               const
      std::set<std::string>& labels,\n                               const std::string&
      service_name,\n                               const std::string& service_config_id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest*::mutable_allocate_operation
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:998,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1001,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_config_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1003,1
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1006,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1007,1
    - Dst: method_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1010,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_method_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1011,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1014,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1016,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1016,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1017,1
    - Dst: producer_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1018,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1019,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1019,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1020,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_quota_mode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1024,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1029,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1030,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1034,1
    - Dst: get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1038,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::add_quota_metrics
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1041,1
    - Dst: MetricValueSet*::set_metric_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1042,1
    - Dst: MetricValueSet*::add_metric_values
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1043,1
    - Dst: MetricValue*::set_int64_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1045,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1048,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - ' info'
    - request
    argTypes:
    - QuotaRequestInfo
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1049
    functionName: espv2::api_proxy::service_control::RequestBuilder::FillAllocateQuotaRequest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_name
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_quota_mode
    - producer_project_id::empty
    - get_service_agent
    - client_ip::empty
    - method_name::empty
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_config_id
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_method_name
    - api_key::empty
    - ::google::api::servicecontrol::v1::QuotaOperation*::add_quota_metrics
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_consumer_id
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*::mutable_allocate_operation
    - operation_id::empty
    - MetricValueSet*::set_metric_name
    - referer::empty
    - MetricValueSet*::add_metric_values
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_operation_id
    - MetricValue*::set_int64_value
    - ::google::api::servicecontrol::v1::QuotaOperation*::mutable_labels
    - OkStatus
    - std::string
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::FillAllocateQuotaRequest(\n    const QuotaRequestInfo&
      info,\n    ::google::api::servicecontrol::v1::AllocateQuotaRequest* request)
      const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VerifyRequiredCheckFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1053,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1054,1
    - Dst: CheckRequest*::set_service_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1057,1
    - Dst: CheckRequest*::set_service_config_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1058,1
    - Dst: CreateTimestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1060,1
    - Dst: CheckRequest*::mutable_operation
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1061,1
    - Dst: SetOperationCommonFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1062,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1063,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1065,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1065,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1066,1
    - Dst: Operation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1069,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1070,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1073,1
    - Dst: get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1077,1
    - Dst: android_package_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1079,1
    - Dst: android_cert_fingerprint::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1082,1
    - Dst: ios_bundle_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1086,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1090,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - ' info'
    - request
    argTypes:
    - CheckRequestInfo
    - CheckRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1091
    functionName: espv2::api_proxy::service_control::RequestBuilder::FillCheckRequest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - android_cert_fingerprint::empty
    - OkStatus
    - CreateTimestamp
    - Operation*::mutable_labels
    - api_key::empty
    - ios_bundle_id::empty
    - referer::empty
    - CheckRequest*::mutable_operation
    - CheckRequest*::set_service_name
    - VerifyRequiredCheckFields
    - CheckRequest*::set_service_config_id
    - SetOperationCommonFields
    - Status::ok
    - client_ip::empty
    - get_service_agent
    - std::string
    - android_package_name::empty
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::FillCheckRequest(const CheckRequestInfo& info,\n
      \                                       CheckRequest* request) const"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VerifyRequiredReportFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1095,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1096,1
    - Dst: ReportRequest*::set_service_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1099,1
    - Dst: ReportRequest*::set_service_config_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1100,1
    - Dst: CreateTimestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1102,1
    - Dst: ReportRequest*::add_operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1103,1
    - Dst: SetOperationCommonFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1104,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1107,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1107,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1109,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1109,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1110,1
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1114,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1114,1
    - Dst: Operation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1115,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1117,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1117,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1121,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1131,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1131,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1136,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1143,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1143,1
    - Dst: FillLogEntry
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1144,1
    - Dst: Operation*::add_log_entries
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1145,1
    - Dst: check_response_info::consumer_project_number::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1148,1
    - Dst: espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1149,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1152,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 2
    argNames:
    - ' info'
    - request
    argTypes:
    - ReportRequestInfo
    - ReportRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1153
    functionName: espv2::api_proxy::service_control::RequestBuilder::FillReportRequest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
    - ASSERT
    - CreateTimestamp
    - Operation*::mutable_labels
    - Status::ok
    - FillLogEntry
    - operation_name::empty
    - check_response_info::consumer_project_number::empty
    - api_key::empty
    - ReportRequest*::add_operations
    - Operation*::set_consumer_id
    - operation_id::empty
    - VerifyRequiredReportFields
    - begin
    - SetOperationCommonFields
    - end
    - ReportRequest*::set_service_config_id
    - ReportRequest*::set_service_name
    - OkStatus
    - std::string
    - Operation*::add_log_entries
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::FillReportRequest(const ReportRequestInfo&
      info,\n                                         ReportRequest* request) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::google::api::servicecontrol::v1::ReportRequest*::add_operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1159,1
    - Dst: SetOperationCommonFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1160,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1163,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1163,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1165,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1165,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1166,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1169,1
    - Dst: Operation*::operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1169,1
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1172,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1172,1
    - Dst: Operation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1173,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1175,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1175,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1179,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1184,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1184,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1188,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - ' info'
    - request
    - current_time
    argTypes:
    - ReportRequestInfo
    - ::google::api::servicecontrol::v1::ReportRequest*
    - Timestamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1194
    functionName: espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 5
    functionsReached:
    - SetOperationCommonFields
    - Operation*::set_consumer_id
    - operation_name::empty
    - Operation*::operation_id
    - ASSERT
    - Operation*::mutable_labels
    - Operation*::set_operation_id
    - operation_id::empty
    - begin
    - Status::ok
    - OkStatus
    - ::google::api::servicecontrol::v1::ReportRequest*::add_operations
    - api_key::empty
    - std::string
    - end
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::AppendByConsumerOperations(\n    const ReportRequestInfo&
      info,\n    ::google::api::servicecontrol::v1::ReportRequest* request,\n    Timestamp
      current_time) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1200,1
    - Dst: metric_kind
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1200,1
    - Dst: value_type
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ' metric'
    argTypes:
    - ::google::api::MetricDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1206
    functionName: espv2::api_proxy::service_control::RequestBuilder::IsMetricSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - value_type
    - metric_kind
    - name
    linkageType: ''
    returnType: bool
    signature: "bool RequestBuilder::IsMetricSupported(\n    const ::google::api::MetricDescriptor&
      metric)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1212,1
    - Dst: value_type
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - ::google::api::LabelDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1217
    functionName: espv2::api_proxy::service_control::RequestBuilder::IsLabelSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - value_type
    - key
    linkageType: ''
    returnType: bool
    signature: "bool RequestBuilder::IsLabelSupported(\n    const ::google::api::LabelDescriptor&
      label)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Operation*::add_metric_value_sets
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:90,1
    - Dst: MetricValueSet*::set_metric_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:91,1
    - Dst: MetricValueSet*::add_metric_values
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - metric_name
    - operation
    argTypes:
    - char*
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: espv2::api_proxy::service_control::AddMetricValue
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 20
    functionsReached:
    - MetricValueSet*::set_metric_name
    - Operation*::add_metric_value_sets
    - MetricValueSet*::add_metric_values
    linkageType: ''
    returnType: MetricValue
    signature: MetricValue * AddMetricValue(const char* metric_name, Operation* operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:97,1
    - Dst: MetricValue*::set_int64_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - metric_name
    - value
    - operation
    argTypes:
    - char*
    - int64_t
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: espv2::api_proxy::service_control::AddInt64Metric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 10
    functionsReached:
    - espv2::api_proxy::service_control::AddMetricValue
    - MetricValue*::set_int64_value
    linkageType: ''
    returnType: void
    signature: "void AddInt64Metric(const char* metric_name, int64_t value,\n                    Operation*
      operation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:115,1
    - Dst: DistributionHelper::InitExponential
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:117,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:119,1
    - Dst: DistributionHelper::AddSample
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:120,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:121,1
    - Dst: MetricValue*::mutable_distribution_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:122,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' options'
    - metric_name
    - value
    - operation
    argTypes:
    - DistributionHelperOptions
    - char*
    - double
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::AddDistributionMetric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 50
    functionsReached:
    - DistributionHelper::InitExponential
    - espv2::api_proxy::service_control::AddMetricValue
    - OkStatus
    - MetricValue*::mutable_distribution_value
    - Status::ok
    - DistributionHelper::AddSample
    linkageType: ''
    returnType: Status
    signature: "Status AddDistributionMetric(const DistributionHelperOptions& options,\n
      \                            const char* metric_name, double value,\n                             Operation*
      operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddInt64Metric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:131,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' m'
    - operation
    argTypes:
    - SupportedMetric
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::set_int64_metric_to_constant_1
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddInt64Metric
    linkageType: ''
    returnType: Status
    signature: "Status set_int64_metric_to_constant_1(const SupportedMetric& m,\n
      \                                     const ReportRequestInfo&,\n                                      Operation*
      operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:139,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_size(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:149,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_response_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_response_size(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:161,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:172,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_backend_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:183,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_overhead_time(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: espv2::api_proxy::service_control::get_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 10
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: std::string
    signature: std::string get_service_agent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:367,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:368,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:369,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: espv2::api_proxy::service_control::get_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 40
    functionsReached:
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - grpc_response_code::value
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - grpc_response_code::has_value
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_status_code(const ReportRequestInfo& info)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:388,1
    - Dst: check_response_info::api_key_uid::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:394,1
    - Dst: auth_issuer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:396,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:397,1
    - Dst: auth_issuer::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: auth_issuer::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:399,1
    - Dst: auth_audience::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:401,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:402,1
    - Dst: auth_audience::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: auth_audience::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:404,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 409
    functionName: espv2::api_proxy::service_control::set_credential_id
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - auth_issuer::size
    - auth_issuer::empty
    - auth_audience::empty
    - absl::StrAppend
    - absl::StrCat
    - ASSERT
    - auth_issuer::data
    - auth_audience::data
    - Envoy::Base64Url::encode
    - auth_audience::size
    - OkStatus
    - api_key::empty
    - check_response_info::api_key_uid::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_credential_id(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:417,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 425
    functionName: espv2::api_proxy::service_control::set_error_type
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_error_type(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:430,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: espv2::api_proxy::service_control::set_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_protocol(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: espv2::api_proxy::service_control::set_backend_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_backend_protocol(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: espv2::api_proxy::service_control::set_consumer_project
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_consumer_project(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:457,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: espv2::api_proxy::service_control::set_referer
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - referer::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_referer(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                   Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:467,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:468,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 471
    functionName: espv2::api_proxy::service_control::set_response_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - snprintf
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:477,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: espv2::api_proxy::service_control::set_response_code_class
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code_class(const SupportedLabel& l,\n                               const
      ReportRequestInfo& info,\n                               Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: status::code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 488
    functionName: espv2::api_proxy::service_control::set_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - status::code
    - snprintf
    linkageType: ''
    returnType: Status
    signature: "Status set_status_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:493,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: espv2::api_proxy::service_control::set_location
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - location::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_location(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:505,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: espv2::api_proxy::service_control::set_api_method
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_method::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_method(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:514,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: espv2::api_proxy::service_control::set_api_version
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_version::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_version(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: espv2::api_proxy::service_control::set_platform
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_platform(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:530,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: espv2::api_proxy::service_control::set_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_service_agent
    linkageType: ''
    returnType: Status
    signature: "Status set_service_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                        Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: espv2::api_proxy::service_control::set_user_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_user_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                     Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:793,1
    - Dst: std::chrono::system_clock::time_point::time_since_epoch
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:794,1
    - Dst: Timestamp::set_seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:797,1
    - Dst: Timestamp::set_nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tp
    argTypes:
    - std::chrono::system_clock::time_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 800
    functionName: espv2::api_proxy::service_control::CreateTimestamp
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - Timestamp::set_nanos
    - Timestamp::set_seconds
    - std::chrono::system_clock::time_point::time_since_epoch
    linkageType: ''
    returnType: Timestamp
    signature: Timestamp CreateTimestamp(std::chrono::system_clock::time_point tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:803,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:804,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:806,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:807,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 810
    functionName: espv2::api_proxy::service_control::VerifyRequiredCheckFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_id::empty
    - operation_name::empty
    - Status
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredCheckFields(const OperationInfo& info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 812
    functionName: espv2::api_proxy::service_control::VerifyRequiredReportFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredReportFields(const OperationInfo&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:816,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:817,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:819,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:820,1
    - Dst: Operation*::mutable_start_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:822,1
    - Dst: Operation*::mutable_end_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' info'
    - ' current_time'
    - op
    argTypes:
    - OperationInfo
    - Timestamp
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 824
    functionName: espv2::api_proxy::service_control::SetOperationCommonFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_name::empty
    - operation_id::empty
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - Operation*::mutable_start_time
    - Operation*::mutable_end_time
    linkageType: ''
    returnType: void
    signature: "void SetOperationCommonFields(const OperationInfo& info,\n                              const
      Timestamp& current_time, Operation* op)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - trace_id
    - project_id
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 829
    functionName: espv2::api_proxy::service_control::TraceResourceName
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 10
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: std::string
    signature: "std::string TraceResourceName(absl::string_view trace_id,\n                              absl::string_view
      project_id)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: LogEntry*::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:834,1
    - Dst: LogEntry*::mutable_timestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:835,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:836,1
    - Dst: LogEntry*::set_severity
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:838,1
    - Dst: trace_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:841,1
    - Dst: tracing_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:842,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:843,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:844,1
    - Dst: gcp_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:845,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:846,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:847,1
    - Dst: LogEntry*::mutable_http_request
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:852,1
    - Dst: auto*::set_protocol
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: auto*::set_status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:855,1
    - Dst: auto*::set_request_method
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:856,1
    - Dst: url::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:858,1
    - Dst: auto*::set_request_url
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:859,1
    - Dst: auto*::set_request_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:862,1
    - Dst: auto*::set_response_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:865,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:867,1
    - Dst: auto*::set_remote_ip
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:868,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:870,1
    - Dst: auto*::set_referer
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:871,1
    - Dst: google::protobuf::util::TimeUtil::MillisecondsToDuration
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:875,1
    - Dst: auto*::mutable_latency
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:877,1
    - Dst: LogEntry*::mutable_struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:881,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:882,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:885,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:886,1
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:887,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:889,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:890,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:891,1
    - Dst: response_code_detail::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:894,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:895,1
    - Dst: producer_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:899,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:900,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:903,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:904,1
    - Dst: api_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:906,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:907,1
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:909,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:910,1
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:912,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:913,1
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:915,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:916,1
    - Dst: log_message::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:918,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:919,1
    - Dst: request_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:921,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:922,1
    - Dst: response_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:925,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:926,1
    - Dst: jwt_payloads::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:929,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:930,1
    - Dst: status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:936,1
    - Dst: Envoy::Grpc::Utility::grpcStatusToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:938,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:939,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:940,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:941,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 79
    argCount: 5
    argNames:
    - ' info'
    - ' name'
    - ' config_id'
    - ' current_time'
    - log_entry
    argTypes:
    - ReportRequestInfo
    - std::string
    - std::string
    - Timestamp
    - LogEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 943
    functionName: espv2::api_proxy::service_control::FillLogEntry
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::util::TimeUtil::MillisecondsToDuration
    - espv2::api_proxy::service_control::protocol::ToString
    - auto*::set_referer
    - Envoy::Grpc::Utility::grpcStatusToString
    - producer_project_id::empty
    - espv2::api_proxy::service_control::TraceResourceName
    - auto*::set_remote_ip
    - LogEntry*::set_name
    - client_ip::empty
    - api_version::empty
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - api_method::empty
    - trace_id::empty
    - response_headers::empty
    - LogEntry*::mutable_timestamp
    - auto*::set_status
    - LogEntry*::set_severity
    - grpc_response_code::has_value
    - log_message::empty
    - api_key::empty
    - set_string_value
    - api_name::empty
    - auto*::set_response_size
    - seconds
    - utils::Version::instance
    - auto*::set_protocol
    - LogEntry*::set_trace
    - tracing_project_id::empty
    - auto*::mutable_latency
    - nanos
    - request_headers::empty
    - url::empty
    - LogEntry*::mutable_http_request
    - status::message
    - referer::empty
    - location::empty
    - method::empty
    - gcp_project_id::empty
    - response_code_detail::empty
    - status::ok
    - auto*::set_request_method
    - grpc_response_code::value
    - LogEntry*::mutable_struct_payload
    - espv2::api_proxy::service_control::get_status_code
    - auto*::set_request_size
    - auto*::set_request_url
    - espv2::api_proxy::service_control::api_key::ToString
    - jwt_payloads::empty
    - set_number_value
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void FillLogEntry(const ReportRequestInfo& info, const std::string&
      name,\n                  const std::string& config_id, const Timestamp& current_time,\n
      \                 LogEntry* log_entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pred
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:951,1
    - Dst: std::vector::push_back
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - first
    - last
    - pred
    argTypes:
    - Element*
    - Element*
    - std::function<bool(const Element*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 957
    functionName: espv2::api_proxy::service_control::FilterPointers
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - pred
    linkageType: ''
    returnType: std::vector<const Element*>
    signature: "std::vector<const Element*> FilterPointers(\n    const Element* first,
      const Element* last,\n    std::function<bool(const Element*)> pred)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Operation*::add_metric_value_sets
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:90,1
    - Dst: MetricValueSet*::set_metric_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:91,1
    - Dst: MetricValueSet*::add_metric_values
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - metric_name
    - operation
    argTypes:
    - char*
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: espv2::api_proxy::service_control::AddMetricValue
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 22
    functionsReached:
    - MetricValueSet*::set_metric_name
    - Operation*::add_metric_value_sets
    - MetricValueSet*::add_metric_values
    linkageType: ''
    returnType: MetricValue
    signature: MetricValue * AddMetricValue(const char* metric_name, Operation* operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:97,1
    - Dst: MetricValue*::set_int64_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - metric_name
    - value
    - operation
    argTypes:
    - char*
    - int64_t
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: espv2::api_proxy::service_control::AddInt64Metric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 11
    functionsReached:
    - espv2::api_proxy::service_control::AddMetricValue
    - MetricValue*::set_int64_value
    linkageType: ''
    returnType: void
    signature: "void AddInt64Metric(const char* metric_name, int64_t value,\n                    Operation*
      operation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:115,1
    - Dst: DistributionHelper::InitExponential
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:117,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:119,1
    - Dst: DistributionHelper::AddSample
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:120,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:121,1
    - Dst: MetricValue*::mutable_distribution_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:122,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' options'
    - metric_name
    - value
    - operation
    argTypes:
    - DistributionHelperOptions
    - char*
    - double
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::AddDistributionMetric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 55
    functionsReached:
    - DistributionHelper::InitExponential
    - espv2::api_proxy::service_control::AddMetricValue
    - OkStatus
    - MetricValue*::mutable_distribution_value
    - Status::ok
    - DistributionHelper::AddSample
    linkageType: ''
    returnType: Status
    signature: "Status AddDistributionMetric(const DistributionHelperOptions& options,\n
      \                            const char* metric_name, double value,\n                             Operation*
      operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddInt64Metric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:131,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' m'
    - operation
    argTypes:
    - SupportedMetric
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::set_int64_metric_to_constant_1
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddInt64Metric
    linkageType: ''
    returnType: Status
    signature: "Status set_int64_metric_to_constant_1(const SupportedMetric& m,\n
      \                                     const ReportRequestInfo&,\n                                      Operation*
      operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:139,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_size(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:149,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_response_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_response_size(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:161,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:172,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_backend_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:183,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_overhead_time(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: espv2::api_proxy::service_control::get_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 11
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: std::string
    signature: std::string get_service_agent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:367,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:368,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:369,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: espv2::api_proxy::service_control::get_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 44
    functionsReached:
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - grpc_response_code::value
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - grpc_response_code::has_value
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_status_code(const ReportRequestInfo& info)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:388,1
    - Dst: check_response_info::api_key_uid::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:394,1
    - Dst: auth_issuer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:396,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:397,1
    - Dst: auth_issuer::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: auth_issuer::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:399,1
    - Dst: auth_audience::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:401,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:402,1
    - Dst: auth_audience::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: auth_audience::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:404,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 409
    functionName: espv2::api_proxy::service_control::set_credential_id
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - auth_issuer::size
    - auth_issuer::empty
    - auth_audience::empty
    - absl::StrAppend
    - absl::StrCat
    - ASSERT
    - auth_issuer::data
    - auth_audience::data
    - Envoy::Base64Url::encode
    - auth_audience::size
    - OkStatus
    - api_key::empty
    - check_response_info::api_key_uid::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_credential_id(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:417,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 425
    functionName: espv2::api_proxy::service_control::set_error_type
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_error_type(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:430,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: espv2::api_proxy::service_control::set_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_protocol(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: espv2::api_proxy::service_control::set_backend_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_backend_protocol(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: espv2::api_proxy::service_control::set_consumer_project
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_consumer_project(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:457,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: espv2::api_proxy::service_control::set_referer
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - referer::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_referer(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                   Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:467,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:468,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 471
    functionName: espv2::api_proxy::service_control::set_response_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - snprintf
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:477,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: espv2::api_proxy::service_control::set_response_code_class
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code_class(const SupportedLabel& l,\n                               const
      ReportRequestInfo& info,\n                               Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: status::code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 488
    functionName: espv2::api_proxy::service_control::set_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - status::code
    - snprintf
    linkageType: ''
    returnType: Status
    signature: "Status set_status_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:493,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: espv2::api_proxy::service_control::set_location
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - location::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_location(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:505,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: espv2::api_proxy::service_control::set_api_method
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_method::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_method(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:514,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: espv2::api_proxy::service_control::set_api_version
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_version::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_version(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: espv2::api_proxy::service_control::set_platform
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_platform(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:530,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: espv2::api_proxy::service_control::set_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_service_agent
    linkageType: ''
    returnType: Status
    signature: "Status set_service_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                        Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: espv2::api_proxy::service_control::set_user_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_user_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                     Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:793,1
    - Dst: std::chrono::system_clock::time_point::time_since_epoch
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:794,1
    - Dst: Timestamp::set_seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:797,1
    - Dst: Timestamp::set_nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tp
    argTypes:
    - std::chrono::system_clock::time_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 800
    functionName: espv2::api_proxy::service_control::CreateTimestamp
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - Timestamp::set_nanos
    - Timestamp::set_seconds
    - std::chrono::system_clock::time_point::time_since_epoch
    linkageType: ''
    returnType: Timestamp
    signature: Timestamp CreateTimestamp(std::chrono::system_clock::time_point tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:803,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:804,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:806,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:807,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 810
    functionName: espv2::api_proxy::service_control::VerifyRequiredCheckFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_id::empty
    - operation_name::empty
    - Status
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredCheckFields(const OperationInfo& info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 812
    functionName: espv2::api_proxy::service_control::VerifyRequiredReportFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredReportFields(const OperationInfo&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:816,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:817,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:819,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:820,1
    - Dst: Operation*::mutable_start_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:822,1
    - Dst: Operation*::mutable_end_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' info'
    - ' current_time'
    - op
    argTypes:
    - OperationInfo
    - Timestamp
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 824
    functionName: espv2::api_proxy::service_control::SetOperationCommonFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_name::empty
    - operation_id::empty
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - Operation*::mutable_start_time
    - Operation*::mutable_end_time
    linkageType: ''
    returnType: void
    signature: "void SetOperationCommonFields(const OperationInfo& info,\n                              const
      Timestamp& current_time, Operation* op)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - trace_id
    - project_id
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 829
    functionName: espv2::api_proxy::service_control::TraceResourceName
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 11
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: std::string
    signature: "std::string TraceResourceName(absl::string_view trace_id,\n                              absl::string_view
      project_id)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: LogEntry*::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:834,1
    - Dst: LogEntry*::mutable_timestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:835,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:836,1
    - Dst: LogEntry*::set_severity
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:838,1
    - Dst: trace_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:841,1
    - Dst: tracing_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:842,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:843,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:844,1
    - Dst: gcp_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:845,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:846,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:847,1
    - Dst: LogEntry*::mutable_http_request
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:852,1
    - Dst: auto*::set_protocol
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: auto*::set_status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:855,1
    - Dst: auto*::set_request_method
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:856,1
    - Dst: url::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:858,1
    - Dst: auto*::set_request_url
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:859,1
    - Dst: auto*::set_request_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:862,1
    - Dst: auto*::set_response_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:865,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:867,1
    - Dst: auto*::set_remote_ip
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:868,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:870,1
    - Dst: auto*::set_referer
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:871,1
    - Dst: google::protobuf::util::TimeUtil::MillisecondsToDuration
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:875,1
    - Dst: auto*::mutable_latency
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:877,1
    - Dst: LogEntry*::mutable_struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:881,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:882,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:885,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:886,1
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:887,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:889,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:890,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:891,1
    - Dst: response_code_detail::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:894,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:895,1
    - Dst: producer_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:899,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:900,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:903,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:904,1
    - Dst: api_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:906,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:907,1
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:909,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:910,1
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:912,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:913,1
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:915,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:916,1
    - Dst: log_message::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:918,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:919,1
    - Dst: request_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:921,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:922,1
    - Dst: response_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:925,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:926,1
    - Dst: jwt_payloads::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:929,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:930,1
    - Dst: status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:936,1
    - Dst: Envoy::Grpc::Utility::grpcStatusToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:938,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:939,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:940,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:941,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 79
    argCount: 5
    argNames:
    - ' info'
    - ' name'
    - ' config_id'
    - ' current_time'
    - log_entry
    argTypes:
    - ReportRequestInfo
    - std::string
    - std::string
    - Timestamp
    - LogEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 943
    functionName: espv2::api_proxy::service_control::FillLogEntry
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::util::TimeUtil::MillisecondsToDuration
    - espv2::api_proxy::service_control::protocol::ToString
    - auto*::set_referer
    - Envoy::Grpc::Utility::grpcStatusToString
    - producer_project_id::empty
    - espv2::api_proxy::service_control::TraceResourceName
    - auto*::set_remote_ip
    - LogEntry*::set_name
    - client_ip::empty
    - api_version::empty
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - api_method::empty
    - trace_id::empty
    - response_headers::empty
    - LogEntry*::mutable_timestamp
    - auto*::set_status
    - LogEntry*::set_severity
    - grpc_response_code::has_value
    - log_message::empty
    - api_key::empty
    - set_string_value
    - api_name::empty
    - auto*::set_response_size
    - seconds
    - utils::Version::instance
    - auto*::set_protocol
    - LogEntry*::set_trace
    - tracing_project_id::empty
    - auto*::mutable_latency
    - nanos
    - request_headers::empty
    - url::empty
    - LogEntry*::mutable_http_request
    - status::message
    - referer::empty
    - location::empty
    - method::empty
    - gcp_project_id::empty
    - response_code_detail::empty
    - status::ok
    - auto*::set_request_method
    - grpc_response_code::value
    - LogEntry*::mutable_struct_payload
    - espv2::api_proxy::service_control::get_status_code
    - auto*::set_request_size
    - auto*::set_request_url
    - espv2::api_proxy::service_control::api_key::ToString
    - jwt_payloads::empty
    - set_number_value
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void FillLogEntry(const ReportRequestInfo& info, const std::string&
      name,\n                  const std::string& config_id, const Timestamp& current_time,\n
      \                 LogEntry* log_entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pred
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:951,1
    - Dst: std::vector::push_back
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - first
    - last
    - pred
    argTypes:
    - Element*
    - Element*
    - std::function<bool(const Element*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 957
    functionName: espv2::api_proxy::service_control::FilterPointers
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - pred
    linkageType: ''
    returnType: std::vector<const Element*>
    signature: "std::vector<const Element*> FilterPointers(\n    const Element* first,
      const Element* last,\n    std::function<bool(const Element*)> pred)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:964,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:964,1
    - Dst: FilterPointers<SupportedMetric>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:965,1
    - Dst: FilterPointers<SupportedLabel>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' logs'
    - ' service_name'
    - ' service_config_id'
    argTypes:
    - std::set<std::string>
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 972
    functionName: espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - FilterPointers<SupportedLabel>
    - begin
    - FilterPointers<SupportedMetric>
    - end
    linkageType: ''
    returnType: void
    signature: "void RequestBuilder::RequestBuilder(const std::set<std::string>& logs,\n
      \                              const std::string& service_name,\n                               const
      std::string& service_config_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:979,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:979,1
    - Dst: FilterPointers<SupportedMetric>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:980,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:983,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:983,1
    - Dst: FilterPointers<SupportedLabel>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:985,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:989,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:989,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - ' logs'
    - ' metrics'
    - ' labels'
    - ' service_name'
    - ' service_config_id'
    argTypes:
    - std::set<std::string>
    - std::set<std::string>
    - std::set<std::string>
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 992
    functionName: espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - FilterPointers<SupportedMetric>
    - FilterPointers<SupportedLabel>
    - begin
    - find
    - end
    linkageType: ''
    returnType: void
    signature: "void RequestBuilder::RequestBuilder(const std::set<std::string>& logs,\n
      \                              const std::set<std::string>& metrics,\n                               const
      std::set<std::string>& labels,\n                               const std::string&
      service_name,\n                               const std::string& service_config_id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest*::mutable_allocate_operation
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:998,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1001,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_config_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1003,1
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1006,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1007,1
    - Dst: method_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1010,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_method_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1011,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1014,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1016,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1016,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1017,1
    - Dst: producer_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1018,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1019,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1019,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1020,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_quota_mode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1024,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1029,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1030,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1034,1
    - Dst: get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1038,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::add_quota_metrics
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1041,1
    - Dst: MetricValueSet*::set_metric_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1042,1
    - Dst: MetricValueSet*::add_metric_values
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1043,1
    - Dst: MetricValue*::set_int64_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1045,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1048,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - ' info'
    - request
    argTypes:
    - QuotaRequestInfo
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1049
    functionName: espv2::api_proxy::service_control::RequestBuilder::FillAllocateQuotaRequest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_name
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_quota_mode
    - producer_project_id::empty
    - get_service_agent
    - client_ip::empty
    - method_name::empty
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_config_id
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_method_name
    - api_key::empty
    - ::google::api::servicecontrol::v1::QuotaOperation*::add_quota_metrics
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_consumer_id
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*::mutable_allocate_operation
    - operation_id::empty
    - MetricValueSet*::set_metric_name
    - referer::empty
    - MetricValueSet*::add_metric_values
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_operation_id
    - MetricValue*::set_int64_value
    - ::google::api::servicecontrol::v1::QuotaOperation*::mutable_labels
    - OkStatus
    - std::string
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::FillAllocateQuotaRequest(\n    const QuotaRequestInfo&
      info,\n    ::google::api::servicecontrol::v1::AllocateQuotaRequest* request)
      const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VerifyRequiredCheckFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1053,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1054,1
    - Dst: CheckRequest*::set_service_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1057,1
    - Dst: CheckRequest*::set_service_config_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1058,1
    - Dst: CreateTimestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1060,1
    - Dst: CheckRequest*::mutable_operation
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1061,1
    - Dst: SetOperationCommonFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1062,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1063,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1065,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1065,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1066,1
    - Dst: Operation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1069,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1070,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1073,1
    - Dst: get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1077,1
    - Dst: android_package_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1079,1
    - Dst: android_cert_fingerprint::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1082,1
    - Dst: ios_bundle_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1086,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1090,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - ' info'
    - request
    argTypes:
    - CheckRequestInfo
    - CheckRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1091
    functionName: espv2::api_proxy::service_control::RequestBuilder::FillCheckRequest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - android_cert_fingerprint::empty
    - OkStatus
    - CreateTimestamp
    - Operation*::mutable_labels
    - api_key::empty
    - ios_bundle_id::empty
    - referer::empty
    - CheckRequest*::mutable_operation
    - CheckRequest*::set_service_name
    - VerifyRequiredCheckFields
    - CheckRequest*::set_service_config_id
    - SetOperationCommonFields
    - Status::ok
    - client_ip::empty
    - get_service_agent
    - std::string
    - android_package_name::empty
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::FillCheckRequest(const CheckRequestInfo& info,\n
      \                                       CheckRequest* request) const"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VerifyRequiredReportFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1095,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1096,1
    - Dst: ReportRequest*::set_service_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1099,1
    - Dst: ReportRequest*::set_service_config_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1100,1
    - Dst: CreateTimestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1102,1
    - Dst: ReportRequest*::add_operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1103,1
    - Dst: SetOperationCommonFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1104,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1107,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1107,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1109,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1109,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1110,1
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1114,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1114,1
    - Dst: Operation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1115,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1117,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1117,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1121,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1131,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1131,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1136,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1143,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1143,1
    - Dst: FillLogEntry
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1144,1
    - Dst: Operation*::add_log_entries
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1145,1
    - Dst: check_response_info::consumer_project_number::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1148,1
    - Dst: espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1149,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1152,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 2
    argNames:
    - ' info'
    - request
    argTypes:
    - ReportRequestInfo
    - ReportRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1153
    functionName: espv2::api_proxy::service_control::RequestBuilder::FillReportRequest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
    - ASSERT
    - CreateTimestamp
    - Operation*::mutable_labels
    - Status::ok
    - FillLogEntry
    - operation_name::empty
    - check_response_info::consumer_project_number::empty
    - api_key::empty
    - ReportRequest*::add_operations
    - Operation*::set_consumer_id
    - operation_id::empty
    - VerifyRequiredReportFields
    - begin
    - SetOperationCommonFields
    - end
    - ReportRequest*::set_service_config_id
    - ReportRequest*::set_service_name
    - OkStatus
    - std::string
    - Operation*::add_log_entries
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::FillReportRequest(const ReportRequestInfo&
      info,\n                                         ReportRequest* request) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::google::api::servicecontrol::v1::ReportRequest*::add_operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1159,1
    - Dst: SetOperationCommonFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1160,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1163,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1163,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1165,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1165,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1166,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1169,1
    - Dst: Operation*::operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1169,1
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1172,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1172,1
    - Dst: Operation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1173,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1175,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1175,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1179,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1184,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1184,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1188,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - ' info'
    - request
    - current_time
    argTypes:
    - ReportRequestInfo
    - ::google::api::servicecontrol::v1::ReportRequest*
    - Timestamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1194
    functionName: espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 6
    functionsReached:
    - SetOperationCommonFields
    - Operation*::set_consumer_id
    - operation_name::empty
    - Operation*::operation_id
    - ASSERT
    - Operation*::mutable_labels
    - Operation*::set_operation_id
    - operation_id::empty
    - begin
    - Status::ok
    - OkStatus
    - ::google::api::servicecontrol::v1::ReportRequest*::add_operations
    - api_key::empty
    - std::string
    - end
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::AppendByConsumerOperations(\n    const ReportRequestInfo&
      info,\n    ::google::api::servicecontrol::v1::ReportRequest* request,\n    Timestamp
      current_time) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1200,1
    - Dst: metric_kind
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1200,1
    - Dst: value_type
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ' metric'
    argTypes:
    - ::google::api::MetricDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1206
    functionName: espv2::api_proxy::service_control::RequestBuilder::IsMetricSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - value_type
    - metric_kind
    - name
    linkageType: ''
    returnType: bool
    signature: "bool RequestBuilder::IsMetricSupported(\n    const ::google::api::MetricDescriptor&
      metric)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1212,1
    - Dst: value_type
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - ::google::api::LabelDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1217
    functionName: espv2::api_proxy::service_control::RequestBuilder::IsLabelSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - value_type
    - key
    linkageType: ''
    returnType: bool
    signature: "bool RequestBuilder::IsLabelSupported(\n    const ::google::api::LabelDescriptor&
      label)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Operation*::add_metric_value_sets
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:90,1
    - Dst: MetricValueSet*::set_metric_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:91,1
    - Dst: MetricValueSet*::add_metric_values
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - metric_name
    - operation
    argTypes:
    - char*
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: espv2::api_proxy::service_control::AddMetricValue
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 24
    functionsReached:
    - MetricValueSet*::set_metric_name
    - Operation*::add_metric_value_sets
    - MetricValueSet*::add_metric_values
    linkageType: ''
    returnType: MetricValue
    signature: MetricValue * AddMetricValue(const char* metric_name, Operation* operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:97,1
    - Dst: MetricValue*::set_int64_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - metric_name
    - value
    - operation
    argTypes:
    - char*
    - int64_t
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: espv2::api_proxy::service_control::AddInt64Metric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 12
    functionsReached:
    - espv2::api_proxy::service_control::AddMetricValue
    - MetricValue*::set_int64_value
    linkageType: ''
    returnType: void
    signature: "void AddInt64Metric(const char* metric_name, int64_t value,\n                    Operation*
      operation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:115,1
    - Dst: DistributionHelper::InitExponential
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:117,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:119,1
    - Dst: DistributionHelper::AddSample
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:120,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:121,1
    - Dst: MetricValue*::mutable_distribution_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:122,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' options'
    - metric_name
    - value
    - operation
    argTypes:
    - DistributionHelperOptions
    - char*
    - double
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::AddDistributionMetric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 60
    functionsReached:
    - DistributionHelper::InitExponential
    - espv2::api_proxy::service_control::AddMetricValue
    - OkStatus
    - MetricValue*::mutable_distribution_value
    - Status::ok
    - DistributionHelper::AddSample
    linkageType: ''
    returnType: Status
    signature: "Status AddDistributionMetric(const DistributionHelperOptions& options,\n
      \                            const char* metric_name, double value,\n                             Operation*
      operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddInt64Metric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:131,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' m'
    - operation
    argTypes:
    - SupportedMetric
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::set_int64_metric_to_constant_1
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddInt64Metric
    linkageType: ''
    returnType: Status
    signature: "Status set_int64_metric_to_constant_1(const SupportedMetric& m,\n
      \                                     const ReportRequestInfo&,\n                                      Operation*
      operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:139,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_size(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:149,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_response_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_response_size(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:161,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:172,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_backend_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:183,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_overhead_time(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: espv2::api_proxy::service_control::get_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 12
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: std::string
    signature: std::string get_service_agent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:367,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:368,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:369,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: espv2::api_proxy::service_control::get_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 48
    functionsReached:
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - grpc_response_code::value
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - grpc_response_code::has_value
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_status_code(const ReportRequestInfo& info)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:388,1
    - Dst: check_response_info::api_key_uid::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:394,1
    - Dst: auth_issuer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:396,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:397,1
    - Dst: auth_issuer::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: auth_issuer::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:399,1
    - Dst: auth_audience::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:401,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:402,1
    - Dst: auth_audience::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: auth_audience::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:404,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 409
    functionName: espv2::api_proxy::service_control::set_credential_id
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - auth_issuer::size
    - auth_issuer::empty
    - auth_audience::empty
    - absl::StrAppend
    - absl::StrCat
    - ASSERT
    - auth_issuer::data
    - auth_audience::data
    - Envoy::Base64Url::encode
    - auth_audience::size
    - OkStatus
    - api_key::empty
    - check_response_info::api_key_uid::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_credential_id(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:417,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 425
    functionName: espv2::api_proxy::service_control::set_error_type
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_error_type(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:430,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: espv2::api_proxy::service_control::set_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_protocol(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: espv2::api_proxy::service_control::set_backend_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_backend_protocol(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: espv2::api_proxy::service_control::set_consumer_project
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_consumer_project(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:457,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: espv2::api_proxy::service_control::set_referer
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - referer::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_referer(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                   Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:467,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:468,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 471
    functionName: espv2::api_proxy::service_control::set_response_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - snprintf
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:477,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: espv2::api_proxy::service_control::set_response_code_class
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code_class(const SupportedLabel& l,\n                               const
      ReportRequestInfo& info,\n                               Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: status::code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 488
    functionName: espv2::api_proxy::service_control::set_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - status::code
    - snprintf
    linkageType: ''
    returnType: Status
    signature: "Status set_status_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:493,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: espv2::api_proxy::service_control::set_location
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - location::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_location(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:505,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: espv2::api_proxy::service_control::set_api_method
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_method::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_method(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:514,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: espv2::api_proxy::service_control::set_api_version
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_version::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_version(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: espv2::api_proxy::service_control::set_platform
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_platform(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:530,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: espv2::api_proxy::service_control::set_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_service_agent
    linkageType: ''
    returnType: Status
    signature: "Status set_service_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                        Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: espv2::api_proxy::service_control::set_user_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_user_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                     Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:793,1
    - Dst: std::chrono::system_clock::time_point::time_since_epoch
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:794,1
    - Dst: Timestamp::set_seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:797,1
    - Dst: Timestamp::set_nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tp
    argTypes:
    - std::chrono::system_clock::time_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 800
    functionName: espv2::api_proxy::service_control::CreateTimestamp
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - Timestamp::set_nanos
    - Timestamp::set_seconds
    - std::chrono::system_clock::time_point::time_since_epoch
    linkageType: ''
    returnType: Timestamp
    signature: Timestamp CreateTimestamp(std::chrono::system_clock::time_point tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:803,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:804,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:806,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:807,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 810
    functionName: espv2::api_proxy::service_control::VerifyRequiredCheckFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_id::empty
    - operation_name::empty
    - Status
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredCheckFields(const OperationInfo& info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 812
    functionName: espv2::api_proxy::service_control::VerifyRequiredReportFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredReportFields(const OperationInfo&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:816,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:817,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:819,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:820,1
    - Dst: Operation*::mutable_start_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:822,1
    - Dst: Operation*::mutable_end_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' info'
    - ' current_time'
    - op
    argTypes:
    - OperationInfo
    - Timestamp
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 824
    functionName: espv2::api_proxy::service_control::SetOperationCommonFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_name::empty
    - operation_id::empty
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - Operation*::mutable_start_time
    - Operation*::mutable_end_time
    linkageType: ''
    returnType: void
    signature: "void SetOperationCommonFields(const OperationInfo& info,\n                              const
      Timestamp& current_time, Operation* op)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - trace_id
    - project_id
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 829
    functionName: espv2::api_proxy::service_control::TraceResourceName
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 12
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: std::string
    signature: "std::string TraceResourceName(absl::string_view trace_id,\n                              absl::string_view
      project_id)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: LogEntry*::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:834,1
    - Dst: LogEntry*::mutable_timestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:835,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:836,1
    - Dst: LogEntry*::set_severity
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:838,1
    - Dst: trace_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:841,1
    - Dst: tracing_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:842,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:843,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:844,1
    - Dst: gcp_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:845,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:846,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:847,1
    - Dst: LogEntry*::mutable_http_request
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:852,1
    - Dst: auto*::set_protocol
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: auto*::set_status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:855,1
    - Dst: auto*::set_request_method
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:856,1
    - Dst: url::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:858,1
    - Dst: auto*::set_request_url
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:859,1
    - Dst: auto*::set_request_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:862,1
    - Dst: auto*::set_response_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:865,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:867,1
    - Dst: auto*::set_remote_ip
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:868,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:870,1
    - Dst: auto*::set_referer
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:871,1
    - Dst: google::protobuf::util::TimeUtil::MillisecondsToDuration
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:875,1
    - Dst: auto*::mutable_latency
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:877,1
    - Dst: LogEntry*::mutable_struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:881,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:882,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:885,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:886,1
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:887,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:889,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:890,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:891,1
    - Dst: response_code_detail::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:894,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:895,1
    - Dst: producer_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:899,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:900,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:903,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:904,1
    - Dst: api_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:906,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:907,1
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:909,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:910,1
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:912,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:913,1
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:915,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:916,1
    - Dst: log_message::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:918,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:919,1
    - Dst: request_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:921,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:922,1
    - Dst: response_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:925,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:926,1
    - Dst: jwt_payloads::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:929,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:930,1
    - Dst: status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:936,1
    - Dst: Envoy::Grpc::Utility::grpcStatusToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:938,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:939,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:940,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:941,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 79
    argCount: 5
    argNames:
    - ' info'
    - ' name'
    - ' config_id'
    - ' current_time'
    - log_entry
    argTypes:
    - ReportRequestInfo
    - std::string
    - std::string
    - Timestamp
    - LogEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 943
    functionName: espv2::api_proxy::service_control::FillLogEntry
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::util::TimeUtil::MillisecondsToDuration
    - espv2::api_proxy::service_control::protocol::ToString
    - auto*::set_referer
    - Envoy::Grpc::Utility::grpcStatusToString
    - producer_project_id::empty
    - espv2::api_proxy::service_control::TraceResourceName
    - auto*::set_remote_ip
    - LogEntry*::set_name
    - client_ip::empty
    - api_version::empty
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - api_method::empty
    - trace_id::empty
    - response_headers::empty
    - LogEntry*::mutable_timestamp
    - auto*::set_status
    - LogEntry*::set_severity
    - grpc_response_code::has_value
    - log_message::empty
    - api_key::empty
    - set_string_value
    - api_name::empty
    - auto*::set_response_size
    - seconds
    - utils::Version::instance
    - auto*::set_protocol
    - LogEntry*::set_trace
    - tracing_project_id::empty
    - auto*::mutable_latency
    - nanos
    - request_headers::empty
    - url::empty
    - LogEntry*::mutable_http_request
    - status::message
    - referer::empty
    - location::empty
    - method::empty
    - gcp_project_id::empty
    - response_code_detail::empty
    - status::ok
    - auto*::set_request_method
    - grpc_response_code::value
    - LogEntry*::mutable_struct_payload
    - espv2::api_proxy::service_control::get_status_code
    - auto*::set_request_size
    - auto*::set_request_url
    - espv2::api_proxy::service_control::api_key::ToString
    - jwt_payloads::empty
    - set_number_value
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void FillLogEntry(const ReportRequestInfo& info, const std::string&
      name,\n                  const std::string& config_id, const Timestamp& current_time,\n
      \                 LogEntry* log_entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pred
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:951,1
    - Dst: std::vector::push_back
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - first
    - last
    - pred
    argTypes:
    - Element*
    - Element*
    - std::function<bool(const Element*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 957
    functionName: espv2::api_proxy::service_control::FilterPointers
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - pred
    linkageType: ''
    returnType: std::vector<const Element*>
    signature: "std::vector<const Element*> FilterPointers(\n    const Element* first,
      const Element* last,\n    std::function<bool(const Element*)> pred)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Operation*::add_metric_value_sets
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:90,1
    - Dst: MetricValueSet*::set_metric_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:91,1
    - Dst: MetricValueSet*::add_metric_values
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - metric_name
    - operation
    argTypes:
    - char*
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: espv2::api_proxy::service_control::AddMetricValue
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 26
    functionsReached:
    - MetricValueSet*::set_metric_name
    - Operation*::add_metric_value_sets
    - MetricValueSet*::add_metric_values
    linkageType: ''
    returnType: MetricValue
    signature: MetricValue * AddMetricValue(const char* metric_name, Operation* operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:97,1
    - Dst: MetricValue*::set_int64_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - metric_name
    - value
    - operation
    argTypes:
    - char*
    - int64_t
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: espv2::api_proxy::service_control::AddInt64Metric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 13
    functionsReached:
    - espv2::api_proxy::service_control::AddMetricValue
    - MetricValue*::set_int64_value
    linkageType: ''
    returnType: void
    signature: "void AddInt64Metric(const char* metric_name, int64_t value,\n                    Operation*
      operation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:115,1
    - Dst: DistributionHelper::InitExponential
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:117,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:119,1
    - Dst: DistributionHelper::AddSample
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:120,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:121,1
    - Dst: MetricValue*::mutable_distribution_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:122,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' options'
    - metric_name
    - value
    - operation
    argTypes:
    - DistributionHelperOptions
    - char*
    - double
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::AddDistributionMetric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 65
    functionsReached:
    - DistributionHelper::InitExponential
    - espv2::api_proxy::service_control::AddMetricValue
    - OkStatus
    - MetricValue*::mutable_distribution_value
    - Status::ok
    - DistributionHelper::AddSample
    linkageType: ''
    returnType: Status
    signature: "Status AddDistributionMetric(const DistributionHelperOptions& options,\n
      \                            const char* metric_name, double value,\n                             Operation*
      operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddInt64Metric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:131,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' m'
    - operation
    argTypes:
    - SupportedMetric
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::set_int64_metric_to_constant_1
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddInt64Metric
    linkageType: ''
    returnType: Status
    signature: "Status set_int64_metric_to_constant_1(const SupportedMetric& m,\n
      \                                     const ReportRequestInfo&,\n                                      Operation*
      operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:139,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_size(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:149,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_response_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_response_size(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:161,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:172,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_backend_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:183,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_overhead_time(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: espv2::api_proxy::service_control::get_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 13
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: std::string
    signature: std::string get_service_agent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:367,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:368,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:369,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: espv2::api_proxy::service_control::get_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 52
    functionsReached:
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - grpc_response_code::value
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - grpc_response_code::has_value
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_status_code(const ReportRequestInfo& info)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:388,1
    - Dst: check_response_info::api_key_uid::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:394,1
    - Dst: auth_issuer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:396,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:397,1
    - Dst: auth_issuer::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: auth_issuer::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:399,1
    - Dst: auth_audience::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:401,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:402,1
    - Dst: auth_audience::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: auth_audience::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:404,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 409
    functionName: espv2::api_proxy::service_control::set_credential_id
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - auth_issuer::size
    - auth_issuer::empty
    - auth_audience::empty
    - absl::StrAppend
    - absl::StrCat
    - ASSERT
    - auth_issuer::data
    - auth_audience::data
    - Envoy::Base64Url::encode
    - auth_audience::size
    - OkStatus
    - api_key::empty
    - check_response_info::api_key_uid::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_credential_id(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:417,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 425
    functionName: espv2::api_proxy::service_control::set_error_type
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_error_type(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:430,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: espv2::api_proxy::service_control::set_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_protocol(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: espv2::api_proxy::service_control::set_backend_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_backend_protocol(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: espv2::api_proxy::service_control::set_consumer_project
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_consumer_project(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:457,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: espv2::api_proxy::service_control::set_referer
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - referer::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_referer(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                   Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:467,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:468,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 471
    functionName: espv2::api_proxy::service_control::set_response_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - snprintf
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:477,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: espv2::api_proxy::service_control::set_response_code_class
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code_class(const SupportedLabel& l,\n                               const
      ReportRequestInfo& info,\n                               Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: status::code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 488
    functionName: espv2::api_proxy::service_control::set_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - status::code
    - snprintf
    linkageType: ''
    returnType: Status
    signature: "Status set_status_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:493,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: espv2::api_proxy::service_control::set_location
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - location::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_location(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:505,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: espv2::api_proxy::service_control::set_api_method
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_method::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_method(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:514,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: espv2::api_proxy::service_control::set_api_version
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_version::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_version(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: espv2::api_proxy::service_control::set_platform
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_platform(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:530,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: espv2::api_proxy::service_control::set_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_service_agent
    linkageType: ''
    returnType: Status
    signature: "Status set_service_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                        Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: espv2::api_proxy::service_control::set_user_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_user_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                     Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:793,1
    - Dst: std::chrono::system_clock::time_point::time_since_epoch
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:794,1
    - Dst: Timestamp::set_seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:797,1
    - Dst: Timestamp::set_nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tp
    argTypes:
    - std::chrono::system_clock::time_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 800
    functionName: espv2::api_proxy::service_control::CreateTimestamp
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - Timestamp::set_nanos
    - Timestamp::set_seconds
    - std::chrono::system_clock::time_point::time_since_epoch
    linkageType: ''
    returnType: Timestamp
    signature: Timestamp CreateTimestamp(std::chrono::system_clock::time_point tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:803,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:804,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:806,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:807,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 810
    functionName: espv2::api_proxy::service_control::VerifyRequiredCheckFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_id::empty
    - operation_name::empty
    - Status
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredCheckFields(const OperationInfo& info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 812
    functionName: espv2::api_proxy::service_control::VerifyRequiredReportFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredReportFields(const OperationInfo&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:816,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:817,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:819,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:820,1
    - Dst: Operation*::mutable_start_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:822,1
    - Dst: Operation*::mutable_end_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' info'
    - ' current_time'
    - op
    argTypes:
    - OperationInfo
    - Timestamp
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 824
    functionName: espv2::api_proxy::service_control::SetOperationCommonFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_name::empty
    - operation_id::empty
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - Operation*::mutable_start_time
    - Operation*::mutable_end_time
    linkageType: ''
    returnType: void
    signature: "void SetOperationCommonFields(const OperationInfo& info,\n                              const
      Timestamp& current_time, Operation* op)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - trace_id
    - project_id
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 829
    functionName: espv2::api_proxy::service_control::TraceResourceName
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 13
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: std::string
    signature: "std::string TraceResourceName(absl::string_view trace_id,\n                              absl::string_view
      project_id)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: LogEntry*::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:834,1
    - Dst: LogEntry*::mutable_timestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:835,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:836,1
    - Dst: LogEntry*::set_severity
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:838,1
    - Dst: trace_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:841,1
    - Dst: tracing_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:842,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:843,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:844,1
    - Dst: gcp_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:845,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:846,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:847,1
    - Dst: LogEntry*::mutable_http_request
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:852,1
    - Dst: auto*::set_protocol
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: auto*::set_status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:855,1
    - Dst: auto*::set_request_method
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:856,1
    - Dst: url::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:858,1
    - Dst: auto*::set_request_url
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:859,1
    - Dst: auto*::set_request_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:862,1
    - Dst: auto*::set_response_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:865,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:867,1
    - Dst: auto*::set_remote_ip
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:868,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:870,1
    - Dst: auto*::set_referer
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:871,1
    - Dst: google::protobuf::util::TimeUtil::MillisecondsToDuration
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:875,1
    - Dst: auto*::mutable_latency
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:877,1
    - Dst: LogEntry*::mutable_struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:881,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:882,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:885,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:886,1
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:887,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:889,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:890,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:891,1
    - Dst: response_code_detail::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:894,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:895,1
    - Dst: producer_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:899,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:900,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:903,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:904,1
    - Dst: api_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:906,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:907,1
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:909,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:910,1
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:912,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:913,1
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:915,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:916,1
    - Dst: log_message::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:918,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:919,1
    - Dst: request_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:921,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:922,1
    - Dst: response_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:925,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:926,1
    - Dst: jwt_payloads::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:929,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:930,1
    - Dst: status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:936,1
    - Dst: Envoy::Grpc::Utility::grpcStatusToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:938,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:939,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:940,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:941,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 79
    argCount: 5
    argNames:
    - ' info'
    - ' name'
    - ' config_id'
    - ' current_time'
    - log_entry
    argTypes:
    - ReportRequestInfo
    - std::string
    - std::string
    - Timestamp
    - LogEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 943
    functionName: espv2::api_proxy::service_control::FillLogEntry
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::util::TimeUtil::MillisecondsToDuration
    - espv2::api_proxy::service_control::protocol::ToString
    - auto*::set_referer
    - Envoy::Grpc::Utility::grpcStatusToString
    - producer_project_id::empty
    - espv2::api_proxy::service_control::TraceResourceName
    - auto*::set_remote_ip
    - LogEntry*::set_name
    - client_ip::empty
    - api_version::empty
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - api_method::empty
    - trace_id::empty
    - response_headers::empty
    - LogEntry*::mutable_timestamp
    - auto*::set_status
    - LogEntry*::set_severity
    - grpc_response_code::has_value
    - log_message::empty
    - api_key::empty
    - set_string_value
    - api_name::empty
    - auto*::set_response_size
    - seconds
    - utils::Version::instance
    - auto*::set_protocol
    - LogEntry*::set_trace
    - tracing_project_id::empty
    - auto*::mutable_latency
    - nanos
    - request_headers::empty
    - url::empty
    - LogEntry*::mutable_http_request
    - status::message
    - referer::empty
    - location::empty
    - method::empty
    - gcp_project_id::empty
    - response_code_detail::empty
    - status::ok
    - auto*::set_request_method
    - grpc_response_code::value
    - LogEntry*::mutable_struct_payload
    - espv2::api_proxy::service_control::get_status_code
    - auto*::set_request_size
    - auto*::set_request_url
    - espv2::api_proxy::service_control::api_key::ToString
    - jwt_payloads::empty
    - set_number_value
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void FillLogEntry(const ReportRequestInfo& info, const std::string&
      name,\n                  const std::string& config_id, const Timestamp& current_time,\n
      \                 LogEntry* log_entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pred
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:951,1
    - Dst: std::vector::push_back
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - first
    - last
    - pred
    argTypes:
    - Element*
    - Element*
    - std::function<bool(const Element*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 957
    functionName: espv2::api_proxy::service_control::FilterPointers
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - pred
    linkageType: ''
    returnType: std::vector<const Element*>
    signature: "std::vector<const Element*> FilterPointers(\n    const Element* first,
      const Element* last,\n    std::function<bool(const Element*)> pred)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:964,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:964,1
    - Dst: FilterPointers<SupportedMetric>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:965,1
    - Dst: FilterPointers<SupportedLabel>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' logs'
    - ' service_name'
    - ' service_config_id'
    argTypes:
    - std::set<std::string>
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 972
    functionName: espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - FilterPointers<SupportedLabel>
    - begin
    - FilterPointers<SupportedMetric>
    - end
    linkageType: ''
    returnType: void
    signature: "void RequestBuilder::RequestBuilder(const std::set<std::string>& logs,\n
      \                              const std::string& service_name,\n                               const
      std::string& service_config_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:979,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:979,1
    - Dst: FilterPointers<SupportedMetric>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:980,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:983,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:983,1
    - Dst: FilterPointers<SupportedLabel>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:985,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:989,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:989,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - ' logs'
    - ' metrics'
    - ' labels'
    - ' service_name'
    - ' service_config_id'
    argTypes:
    - std::set<std::string>
    - std::set<std::string>
    - std::set<std::string>
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 992
    functionName: espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - FilterPointers<SupportedMetric>
    - FilterPointers<SupportedLabel>
    - begin
    - find
    - end
    linkageType: ''
    returnType: void
    signature: "void RequestBuilder::RequestBuilder(const std::set<std::string>& logs,\n
      \                              const std::set<std::string>& metrics,\n                               const
      std::set<std::string>& labels,\n                               const std::string&
      service_name,\n                               const std::string& service_config_id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest*::mutable_allocate_operation
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:998,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1001,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_config_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1003,1
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1006,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1007,1
    - Dst: method_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1010,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_method_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1011,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1014,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1016,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1016,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1017,1
    - Dst: producer_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1018,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1019,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1019,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1020,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_quota_mode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1024,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1029,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1030,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1034,1
    - Dst: get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1038,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::add_quota_metrics
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1041,1
    - Dst: MetricValueSet*::set_metric_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1042,1
    - Dst: MetricValueSet*::add_metric_values
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1043,1
    - Dst: MetricValue*::set_int64_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1045,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1048,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - ' info'
    - request
    argTypes:
    - QuotaRequestInfo
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1049
    functionName: espv2::api_proxy::service_control::RequestBuilder::FillAllocateQuotaRequest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_name
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_quota_mode
    - producer_project_id::empty
    - get_service_agent
    - client_ip::empty
    - method_name::empty
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_config_id
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_method_name
    - api_key::empty
    - ::google::api::servicecontrol::v1::QuotaOperation*::add_quota_metrics
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_consumer_id
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*::mutable_allocate_operation
    - operation_id::empty
    - MetricValueSet*::set_metric_name
    - referer::empty
    - MetricValueSet*::add_metric_values
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_operation_id
    - MetricValue*::set_int64_value
    - ::google::api::servicecontrol::v1::QuotaOperation*::mutable_labels
    - OkStatus
    - std::string
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::FillAllocateQuotaRequest(\n    const QuotaRequestInfo&
      info,\n    ::google::api::servicecontrol::v1::AllocateQuotaRequest* request)
      const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VerifyRequiredCheckFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1053,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1054,1
    - Dst: CheckRequest*::set_service_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1057,1
    - Dst: CheckRequest*::set_service_config_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1058,1
    - Dst: CreateTimestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1060,1
    - Dst: CheckRequest*::mutable_operation
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1061,1
    - Dst: SetOperationCommonFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1062,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1063,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1065,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1065,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1066,1
    - Dst: Operation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1069,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1070,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1073,1
    - Dst: get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1077,1
    - Dst: android_package_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1079,1
    - Dst: android_cert_fingerprint::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1082,1
    - Dst: ios_bundle_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1086,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1090,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - ' info'
    - request
    argTypes:
    - CheckRequestInfo
    - CheckRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1091
    functionName: espv2::api_proxy::service_control::RequestBuilder::FillCheckRequest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - android_cert_fingerprint::empty
    - OkStatus
    - CreateTimestamp
    - Operation*::mutable_labels
    - api_key::empty
    - ios_bundle_id::empty
    - referer::empty
    - CheckRequest*::mutable_operation
    - CheckRequest*::set_service_name
    - VerifyRequiredCheckFields
    - CheckRequest*::set_service_config_id
    - SetOperationCommonFields
    - Status::ok
    - client_ip::empty
    - get_service_agent
    - std::string
    - android_package_name::empty
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::FillCheckRequest(const CheckRequestInfo& info,\n
      \                                       CheckRequest* request) const"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VerifyRequiredReportFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1095,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1096,1
    - Dst: ReportRequest*::set_service_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1099,1
    - Dst: ReportRequest*::set_service_config_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1100,1
    - Dst: CreateTimestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1102,1
    - Dst: ReportRequest*::add_operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1103,1
    - Dst: SetOperationCommonFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1104,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1107,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1107,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1109,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1109,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1110,1
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1114,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1114,1
    - Dst: Operation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1115,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1117,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1117,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1121,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1131,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1131,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1136,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1143,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1143,1
    - Dst: FillLogEntry
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1144,1
    - Dst: Operation*::add_log_entries
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1145,1
    - Dst: check_response_info::consumer_project_number::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1148,1
    - Dst: espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1149,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1152,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 2
    argNames:
    - ' info'
    - request
    argTypes:
    - ReportRequestInfo
    - ReportRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1153
    functionName: espv2::api_proxy::service_control::RequestBuilder::FillReportRequest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
    - ASSERT
    - CreateTimestamp
    - Operation*::mutable_labels
    - Status::ok
    - FillLogEntry
    - operation_name::empty
    - check_response_info::consumer_project_number::empty
    - api_key::empty
    - ReportRequest*::add_operations
    - Operation*::set_consumer_id
    - operation_id::empty
    - VerifyRequiredReportFields
    - begin
    - SetOperationCommonFields
    - end
    - ReportRequest*::set_service_config_id
    - ReportRequest*::set_service_name
    - OkStatus
    - std::string
    - Operation*::add_log_entries
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::FillReportRequest(const ReportRequestInfo&
      info,\n                                         ReportRequest* request) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::google::api::servicecontrol::v1::ReportRequest*::add_operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1159,1
    - Dst: SetOperationCommonFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1160,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1163,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1163,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1165,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1165,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1166,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1169,1
    - Dst: Operation*::operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1169,1
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1172,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1172,1
    - Dst: Operation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1173,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1175,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1175,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1179,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1184,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1184,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1188,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - ' info'
    - request
    - current_time
    argTypes:
    - ReportRequestInfo
    - ::google::api::servicecontrol::v1::ReportRequest*
    - Timestamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1194
    functionName: espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 7
    functionsReached:
    - SetOperationCommonFields
    - Operation*::set_consumer_id
    - operation_name::empty
    - Operation*::operation_id
    - ASSERT
    - Operation*::mutable_labels
    - Operation*::set_operation_id
    - operation_id::empty
    - begin
    - Status::ok
    - OkStatus
    - ::google::api::servicecontrol::v1::ReportRequest*::add_operations
    - api_key::empty
    - std::string
    - end
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::AppendByConsumerOperations(\n    const ReportRequestInfo&
      info,\n    ::google::api::servicecontrol::v1::ReportRequest* request,\n    Timestamp
      current_time) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1200,1
    - Dst: metric_kind
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1200,1
    - Dst: value_type
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ' metric'
    argTypes:
    - ::google::api::MetricDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1206
    functionName: espv2::api_proxy::service_control::RequestBuilder::IsMetricSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - value_type
    - metric_kind
    - name
    linkageType: ''
    returnType: bool
    signature: "bool RequestBuilder::IsMetricSupported(\n    const ::google::api::MetricDescriptor&
      metric)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1212,1
    - Dst: value_type
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - ::google::api::LabelDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1217
    functionName: espv2::api_proxy::service_control::RequestBuilder::IsLabelSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - value_type
    - key
    linkageType: ''
    returnType: bool
    signature: "bool RequestBuilder::IsLabelSupported(\n    const ::google::api::LabelDescriptor&
      label)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Operation*::add_metric_value_sets
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:90,1
    - Dst: MetricValueSet*::set_metric_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:91,1
    - Dst: MetricValueSet*::add_metric_values
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - metric_name
    - operation
    argTypes:
    - char*
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: espv2::api_proxy::service_control::AddMetricValue
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 28
    functionsReached:
    - MetricValueSet*::set_metric_name
    - Operation*::add_metric_value_sets
    - MetricValueSet*::add_metric_values
    linkageType: ''
    returnType: MetricValue
    signature: MetricValue * AddMetricValue(const char* metric_name, Operation* operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:97,1
    - Dst: MetricValue*::set_int64_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - metric_name
    - value
    - operation
    argTypes:
    - char*
    - int64_t
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: espv2::api_proxy::service_control::AddInt64Metric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 14
    functionsReached:
    - espv2::api_proxy::service_control::AddMetricValue
    - MetricValue*::set_int64_value
    linkageType: ''
    returnType: void
    signature: "void AddInt64Metric(const char* metric_name, int64_t value,\n                    Operation*
      operation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:115,1
    - Dst: DistributionHelper::InitExponential
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:117,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:119,1
    - Dst: DistributionHelper::AddSample
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:120,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:121,1
    - Dst: MetricValue*::mutable_distribution_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:122,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' options'
    - metric_name
    - value
    - operation
    argTypes:
    - DistributionHelperOptions
    - char*
    - double
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::AddDistributionMetric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 70
    functionsReached:
    - DistributionHelper::InitExponential
    - espv2::api_proxy::service_control::AddMetricValue
    - OkStatus
    - MetricValue*::mutable_distribution_value
    - Status::ok
    - DistributionHelper::AddSample
    linkageType: ''
    returnType: Status
    signature: "Status AddDistributionMetric(const DistributionHelperOptions& options,\n
      \                            const char* metric_name, double value,\n                             Operation*
      operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddInt64Metric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:131,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' m'
    - operation
    argTypes:
    - SupportedMetric
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::set_int64_metric_to_constant_1
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddInt64Metric
    linkageType: ''
    returnType: Status
    signature: "Status set_int64_metric_to_constant_1(const SupportedMetric& m,\n
      \                                     const ReportRequestInfo&,\n                                      Operation*
      operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:139,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_size(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:149,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_response_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_response_size(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:161,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:172,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_backend_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:183,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_overhead_time(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: espv2::api_proxy::service_control::get_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 14
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: std::string
    signature: std::string get_service_agent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:367,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:368,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:369,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: espv2::api_proxy::service_control::get_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 56
    functionsReached:
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - grpc_response_code::value
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - grpc_response_code::has_value
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_status_code(const ReportRequestInfo& info)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:388,1
    - Dst: check_response_info::api_key_uid::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:394,1
    - Dst: auth_issuer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:396,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:397,1
    - Dst: auth_issuer::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: auth_issuer::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:399,1
    - Dst: auth_audience::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:401,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:402,1
    - Dst: auth_audience::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: auth_audience::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:404,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 409
    functionName: espv2::api_proxy::service_control::set_credential_id
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - auth_issuer::size
    - auth_issuer::empty
    - auth_audience::empty
    - absl::StrAppend
    - absl::StrCat
    - ASSERT
    - auth_issuer::data
    - auth_audience::data
    - Envoy::Base64Url::encode
    - auth_audience::size
    - OkStatus
    - api_key::empty
    - check_response_info::api_key_uid::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_credential_id(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:417,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 425
    functionName: espv2::api_proxy::service_control::set_error_type
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_error_type(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:430,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: espv2::api_proxy::service_control::set_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_protocol(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: espv2::api_proxy::service_control::set_backend_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_backend_protocol(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: espv2::api_proxy::service_control::set_consumer_project
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_consumer_project(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:457,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: espv2::api_proxy::service_control::set_referer
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - referer::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_referer(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                   Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:467,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:468,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 471
    functionName: espv2::api_proxy::service_control::set_response_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - snprintf
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:477,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: espv2::api_proxy::service_control::set_response_code_class
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code_class(const SupportedLabel& l,\n                               const
      ReportRequestInfo& info,\n                               Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: status::code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 488
    functionName: espv2::api_proxy::service_control::set_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - status::code
    - snprintf
    linkageType: ''
    returnType: Status
    signature: "Status set_status_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:493,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: espv2::api_proxy::service_control::set_location
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - location::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_location(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:505,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: espv2::api_proxy::service_control::set_api_method
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_method::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_method(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:514,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: espv2::api_proxy::service_control::set_api_version
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_version::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_version(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: espv2::api_proxy::service_control::set_platform
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_platform(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:530,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: espv2::api_proxy::service_control::set_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_service_agent
    linkageType: ''
    returnType: Status
    signature: "Status set_service_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                        Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: espv2::api_proxy::service_control::set_user_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_user_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                     Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:793,1
    - Dst: std::chrono::system_clock::time_point::time_since_epoch
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:794,1
    - Dst: Timestamp::set_seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:797,1
    - Dst: Timestamp::set_nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tp
    argTypes:
    - std::chrono::system_clock::time_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 800
    functionName: espv2::api_proxy::service_control::CreateTimestamp
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - Timestamp::set_nanos
    - Timestamp::set_seconds
    - std::chrono::system_clock::time_point::time_since_epoch
    linkageType: ''
    returnType: Timestamp
    signature: Timestamp CreateTimestamp(std::chrono::system_clock::time_point tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:803,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:804,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:806,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:807,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 810
    functionName: espv2::api_proxy::service_control::VerifyRequiredCheckFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_id::empty
    - operation_name::empty
    - Status
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredCheckFields(const OperationInfo& info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 812
    functionName: espv2::api_proxy::service_control::VerifyRequiredReportFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredReportFields(const OperationInfo&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:816,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:817,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:819,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:820,1
    - Dst: Operation*::mutable_start_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:822,1
    - Dst: Operation*::mutable_end_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' info'
    - ' current_time'
    - op
    argTypes:
    - OperationInfo
    - Timestamp
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 824
    functionName: espv2::api_proxy::service_control::SetOperationCommonFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_name::empty
    - operation_id::empty
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - Operation*::mutable_start_time
    - Operation*::mutable_end_time
    linkageType: ''
    returnType: void
    signature: "void SetOperationCommonFields(const OperationInfo& info,\n                              const
      Timestamp& current_time, Operation* op)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - trace_id
    - project_id
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 829
    functionName: espv2::api_proxy::service_control::TraceResourceName
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 14
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: std::string
    signature: "std::string TraceResourceName(absl::string_view trace_id,\n                              absl::string_view
      project_id)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: LogEntry*::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:834,1
    - Dst: LogEntry*::mutable_timestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:835,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:836,1
    - Dst: LogEntry*::set_severity
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:838,1
    - Dst: trace_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:841,1
    - Dst: tracing_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:842,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:843,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:844,1
    - Dst: gcp_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:845,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:846,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:847,1
    - Dst: LogEntry*::mutable_http_request
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:852,1
    - Dst: auto*::set_protocol
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: auto*::set_status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:855,1
    - Dst: auto*::set_request_method
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:856,1
    - Dst: url::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:858,1
    - Dst: auto*::set_request_url
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:859,1
    - Dst: auto*::set_request_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:862,1
    - Dst: auto*::set_response_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:865,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:867,1
    - Dst: auto*::set_remote_ip
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:868,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:870,1
    - Dst: auto*::set_referer
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:871,1
    - Dst: google::protobuf::util::TimeUtil::MillisecondsToDuration
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:875,1
    - Dst: auto*::mutable_latency
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:877,1
    - Dst: LogEntry*::mutable_struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:881,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:882,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:885,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:886,1
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:887,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:889,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:890,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:891,1
    - Dst: response_code_detail::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:894,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:895,1
    - Dst: producer_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:899,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:900,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:903,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:904,1
    - Dst: api_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:906,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:907,1
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:909,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:910,1
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:912,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:913,1
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:915,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:916,1
    - Dst: log_message::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:918,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:919,1
    - Dst: request_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:921,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:922,1
    - Dst: response_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:925,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:926,1
    - Dst: jwt_payloads::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:929,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:930,1
    - Dst: status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:936,1
    - Dst: Envoy::Grpc::Utility::grpcStatusToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:938,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:939,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:940,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:941,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 79
    argCount: 5
    argNames:
    - ' info'
    - ' name'
    - ' config_id'
    - ' current_time'
    - log_entry
    argTypes:
    - ReportRequestInfo
    - std::string
    - std::string
    - Timestamp
    - LogEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 943
    functionName: espv2::api_proxy::service_control::FillLogEntry
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::util::TimeUtil::MillisecondsToDuration
    - espv2::api_proxy::service_control::protocol::ToString
    - auto*::set_referer
    - Envoy::Grpc::Utility::grpcStatusToString
    - producer_project_id::empty
    - espv2::api_proxy::service_control::TraceResourceName
    - auto*::set_remote_ip
    - LogEntry*::set_name
    - client_ip::empty
    - api_version::empty
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - api_method::empty
    - trace_id::empty
    - response_headers::empty
    - LogEntry*::mutable_timestamp
    - auto*::set_status
    - LogEntry*::set_severity
    - grpc_response_code::has_value
    - log_message::empty
    - api_key::empty
    - set_string_value
    - api_name::empty
    - auto*::set_response_size
    - seconds
    - utils::Version::instance
    - auto*::set_protocol
    - LogEntry*::set_trace
    - tracing_project_id::empty
    - auto*::mutable_latency
    - nanos
    - request_headers::empty
    - url::empty
    - LogEntry*::mutable_http_request
    - status::message
    - referer::empty
    - location::empty
    - method::empty
    - gcp_project_id::empty
    - response_code_detail::empty
    - status::ok
    - auto*::set_request_method
    - grpc_response_code::value
    - LogEntry*::mutable_struct_payload
    - espv2::api_proxy::service_control::get_status_code
    - auto*::set_request_size
    - auto*::set_request_url
    - espv2::api_proxy::service_control::api_key::ToString
    - jwt_payloads::empty
    - set_number_value
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void FillLogEntry(const ReportRequestInfo& info, const std::string&
      name,\n                  const std::string& config_id, const Timestamp& current_time,\n
      \                 LogEntry* log_entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pred
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:951,1
    - Dst: std::vector::push_back
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - first
    - last
    - pred
    argTypes:
    - Element*
    - Element*
    - std::function<bool(const Element*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 957
    functionName: espv2::api_proxy::service_control::FilterPointers
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - pred
    linkageType: ''
    returnType: std::vector<const Element*>
    signature: "std::vector<const Element*> FilterPointers(\n    const Element* first,
      const Element* last,\n    std::function<bool(const Element*)> pred)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Operation*::add_metric_value_sets
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:90,1
    - Dst: MetricValueSet*::set_metric_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:91,1
    - Dst: MetricValueSet*::add_metric_values
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - metric_name
    - operation
    argTypes:
    - char*
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: espv2::api_proxy::service_control::AddMetricValue
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 30
    functionsReached:
    - MetricValueSet*::set_metric_name
    - Operation*::add_metric_value_sets
    - MetricValueSet*::add_metric_values
    linkageType: ''
    returnType: MetricValue
    signature: MetricValue * AddMetricValue(const char* metric_name, Operation* operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:97,1
    - Dst: MetricValue*::set_int64_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - metric_name
    - value
    - operation
    argTypes:
    - char*
    - int64_t
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: espv2::api_proxy::service_control::AddInt64Metric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 15
    functionsReached:
    - espv2::api_proxy::service_control::AddMetricValue
    - MetricValue*::set_int64_value
    linkageType: ''
    returnType: void
    signature: "void AddInt64Metric(const char* metric_name, int64_t value,\n                    Operation*
      operation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddMetricValue
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:115,1
    - Dst: DistributionHelper::InitExponential
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:117,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:119,1
    - Dst: DistributionHelper::AddSample
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:120,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:121,1
    - Dst: MetricValue*::mutable_distribution_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:122,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ' options'
    - metric_name
    - value
    - operation
    argTypes:
    - DistributionHelperOptions
    - char*
    - double
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: espv2::api_proxy::service_control::AddDistributionMetric
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 75
    functionsReached:
    - DistributionHelper::InitExponential
    - espv2::api_proxy::service_control::AddMetricValue
    - OkStatus
    - MetricValue*::mutable_distribution_value
    - Status::ok
    - DistributionHelper::AddSample
    linkageType: ''
    returnType: Status
    signature: "Status AddDistributionMetric(const DistributionHelperOptions& options,\n
      \                            const char* metric_name, double value,\n                             Operation*
      operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddInt64Metric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:131,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' m'
    - operation
    argTypes:
    - SupportedMetric
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::api_proxy::service_control::set_int64_metric_to_constant_1
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddInt64Metric
    linkageType: ''
    returnType: Status
    signature: "Status set_int64_metric_to_constant_1(const SupportedMetric& m,\n
      \                                     const ReportRequestInfo&,\n                                      Operation*
      operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:139,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_size(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:149,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_response_size
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_response_size(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:161,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_request_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_request_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:172,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_backend_time(const SupportedMetric&
      m,\n                                               const ReportRequestInfo&
      info,\n                                               Operation* operation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::AddDistributionMetric
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:183,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' m'
    - ' info'
    - operation
    argTypes:
    - SupportedMetric
    - ReportRequestInfo
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 187
    functionName: espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::AddDistributionMetric
    linkageType: ''
    returnType: Status
    signature: "Status set_distribution_metric_to_overhead_time(const SupportedMetric&
      m,\n                                                const ReportRequestInfo&
      info,\n                                                Operation* operation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: espv2::api_proxy::service_control::get_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 15
    functionsReached:
    - utils::Version::instance
    linkageType: ''
    returnType: std::string
    signature: std::string get_service_agent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:367,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:368,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:369,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: espv2::api_proxy::service_control::get_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 60
    functionsReached:
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - grpc_response_code::value
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - grpc_response_code::has_value
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int get_status_code(const ReportRequestInfo& info)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:384,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:388,1
    - Dst: check_response_info::api_key_uid::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:390,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:394,1
    - Dst: auth_issuer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:396,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:397,1
    - Dst: auth_issuer::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: auth_issuer::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:398,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:399,1
    - Dst: auth_audience::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:401,1
    - Dst: Envoy::Base64Url::encode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:402,1
    - Dst: auth_audience::data
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: auth_audience::size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:403,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:404,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 409
    functionName: espv2::api_proxy::service_control::set_credential_id
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - auth_issuer::size
    - auth_issuer::empty
    - auth_audience::empty
    - absl::StrAppend
    - absl::StrCat
    - ASSERT
    - auth_issuer::data
    - auth_audience::data
    - Envoy::Base64Url::encode
    - auth_audience::size
    - OkStatus
    - api_key::empty
    - check_response_info::api_key_uid::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_credential_id(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:417,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 425
    functionName: espv2::api_proxy::service_control::set_error_type
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_error_type(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:430,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: espv2::api_proxy::service_control::set_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_protocol(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: espv2::api_proxy::service_control::set_backend_protocol
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::protocol::ToString
    linkageType: ''
    returnType: Status
    signature: "Status set_backend_protocol(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: espv2::api_proxy::service_control::set_consumer_project
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_consumer_project(const SupportedLabel& l,\n                            const
      ReportRequestInfo& info,\n                            Map<std::string, std::string>*
      labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:457,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 461
    functionName: espv2::api_proxy::service_control::set_referer
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - referer::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_referer(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                   Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:467,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:468,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 471
    functionName: espv2::api_proxy::service_control::set_response_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - snprintf
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                         Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:477,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: espv2::api_proxy::service_control::set_response_code_class
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_status_code
    linkageType: ''
    returnType: Status
    signature: "Status set_response_code_class(const SupportedLabel& l,\n                               const
      ReportRequestInfo& info,\n                               Map<std::string, std::string>*
      labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: status::code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:485,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 488
    functionName: espv2::api_proxy::service_control::set_status_code
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - status::code
    - snprintf
    linkageType: ''
    returnType: Status
    signature: "Status set_status_code(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:493,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: espv2::api_proxy::service_control::set_location
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - location::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_location(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:505,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: espv2::api_proxy::service_control::set_api_method
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_method::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_method(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                      Map<std::string, std::string>* labels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:514,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: espv2::api_proxy::service_control::set_api_version
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - api_version::empty
    linkageType: ''
    returnType: Status
    signature: "Status set_api_version(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                       Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' l'
    - ' info'
    - labels
    argTypes:
    - SupportedLabel
    - ReportRequestInfo
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 525
    functionName: espv2::api_proxy::service_control::set_platform
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_platform(const SupportedLabel& l, const ReportRequestInfo&
      info,\n                    Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:530,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 532
    functionName: espv2::api_proxy::service_control::set_service_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - espv2::api_proxy::service_control::get_service_agent
    linkageType: ''
    returnType: Status
    signature: "Status set_service_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                        Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' l'
    - labels
    argTypes:
    - SupportedLabel
    - Map<std::string, std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: espv2::api_proxy::service_control::set_user_agent
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status set_user_agent(const SupportedLabel& l, const ReportRequestInfo&,\n
      \                     Map<std::string, std::string>* labels)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::nanoseconds>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:793,1
    - Dst: std::chrono::system_clock::time_point::time_since_epoch
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:794,1
    - Dst: Timestamp::set_seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:797,1
    - Dst: Timestamp::set_nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tp
    argTypes:
    - std::chrono::system_clock::time_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 800
    functionName: espv2::api_proxy::service_control::CreateTimestamp
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::nanoseconds>
    - Timestamp::set_nanos
    - Timestamp::set_seconds
    - std::chrono::system_clock::time_point::time_since_epoch
    linkageType: ''
    returnType: Timestamp
    signature: Timestamp CreateTimestamp(std::chrono::system_clock::time_point tp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:803,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:804,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:806,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:807,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 810
    functionName: espv2::api_proxy::service_control::VerifyRequiredCheckFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_id::empty
    - operation_name::empty
    - Status
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredCheckFields(const OperationInfo& info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 812
    functionName: espv2::api_proxy::service_control::VerifyRequiredReportFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: Status VerifyRequiredReportFields(const OperationInfo&)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:816,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:817,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:819,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:820,1
    - Dst: Operation*::mutable_start_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:822,1
    - Dst: Operation*::mutable_end_time
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ' info'
    - ' current_time'
    - op
    argTypes:
    - OperationInfo
    - Timestamp
    - Operation*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 824
    functionName: espv2::api_proxy::service_control::SetOperationCommonFields
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - operation_name::empty
    - operation_id::empty
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - Operation*::mutable_start_time
    - Operation*::mutable_end_time
    linkageType: ''
    returnType: void
    signature: "void SetOperationCommonFields(const OperationInfo& info,\n                              const
      Timestamp& current_time, Operation* op)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - trace_id
    - project_id
    argTypes:
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 829
    functionName: espv2::api_proxy::service_control::TraceResourceName
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 15
    functionsReached:
    - absl::StrCat
    linkageType: ''
    returnType: std::string
    signature: "std::string TraceResourceName(absl::string_view trace_id,\n                              absl::string_view
      project_id)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: LogEntry*::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:834,1
    - Dst: LogEntry*::mutable_timestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:835,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:836,1
    - Dst: LogEntry*::set_severity
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:838,1
    - Dst: trace_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:841,1
    - Dst: tracing_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:842,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:843,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:844,1
    - Dst: gcp_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:845,1
    - Dst: LogEntry*::set_trace
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:846,1
    - Dst: espv2::api_proxy::service_control::TraceResourceName
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:847,1
    - Dst: LogEntry*::mutable_http_request
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:852,1
    - Dst: auto*::set_protocol
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: espv2::api_proxy::service_control::protocol::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:853,1
    - Dst: auto*::set_status
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: espv2::api_proxy::service_control::get_status_code
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:854,1
    - Dst: method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:855,1
    - Dst: auto*::set_request_method
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:856,1
    - Dst: url::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:858,1
    - Dst: auto*::set_request_url
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:859,1
    - Dst: auto*::set_request_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:862,1
    - Dst: auto*::set_response_size
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:865,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:867,1
    - Dst: auto*::set_remote_ip
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:868,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:870,1
    - Dst: auto*::set_referer
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:871,1
    - Dst: google::protobuf::util::TimeUtil::MillisecondsToDuration
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:875,1
    - Dst: auto*::mutable_latency
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:877,1
    - Dst: LogEntry*::mutable_struct_payload
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:881,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:882,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: seconds
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:883,1
    - Dst: static_cast<double>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: nanos
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:884,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:885,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:886,1
    - Dst: utils::Version::instance
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:887,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:889,1
    - Dst: espv2::api_proxy::service_control::api_key::ToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:890,1
    - Dst: set_number_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:891,1
    - Dst: response_code_detail::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:894,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:895,1
    - Dst: producer_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:899,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:900,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:903,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:904,1
    - Dst: api_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:906,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:907,1
    - Dst: api_version::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:909,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:910,1
    - Dst: api_method::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:912,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:913,1
    - Dst: location::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:915,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:916,1
    - Dst: log_message::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:918,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:919,1
    - Dst: request_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:921,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:922,1
    - Dst: response_headers::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:925,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:926,1
    - Dst: jwt_payloads::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:929,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:930,1
    - Dst: status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:932,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: status::message
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:933,1
    - Dst: grpc_response_code::has_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:936,1
    - Dst: Envoy::Grpc::Utility::grpcStatusToString
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:938,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:939,1
    - Dst: grpc_response_code::value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:940,1
    - Dst: set_string_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:941,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 79
    argCount: 5
    argNames:
    - ' info'
    - ' name'
    - ' config_id'
    - ' current_time'
    - log_entry
    argTypes:
    - ReportRequestInfo
    - std::string
    - std::string
    - Timestamp
    - LogEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 943
    functionName: espv2::api_proxy::service_control::FillLogEntry
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::util::TimeUtil::MillisecondsToDuration
    - espv2::api_proxy::service_control::protocol::ToString
    - auto*::set_referer
    - Envoy::Grpc::Utility::grpcStatusToString
    - producer_project_id::empty
    - espv2::api_proxy::service_control::TraceResourceName
    - auto*::set_remote_ip
    - LogEntry*::set_name
    - client_ip::empty
    - api_version::empty
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - api_method::empty
    - trace_id::empty
    - response_headers::empty
    - LogEntry*::mutable_timestamp
    - auto*::set_status
    - LogEntry*::set_severity
    - grpc_response_code::has_value
    - log_message::empty
    - api_key::empty
    - set_string_value
    - api_name::empty
    - auto*::set_response_size
    - seconds
    - utils::Version::instance
    - auto*::set_protocol
    - LogEntry*::set_trace
    - tracing_project_id::empty
    - auto*::mutable_latency
    - nanos
    - request_headers::empty
    - url::empty
    - LogEntry*::mutable_http_request
    - status::message
    - referer::empty
    - location::empty
    - method::empty
    - gcp_project_id::empty
    - response_code_detail::empty
    - status::ok
    - auto*::set_request_method
    - grpc_response_code::value
    - LogEntry*::mutable_struct_payload
    - espv2::api_proxy::service_control::get_status_code
    - auto*::set_request_size
    - auto*::set_request_url
    - espv2::api_proxy::service_control::api_key::ToString
    - jwt_payloads::empty
    - set_number_value
    - static_cast<double>
    linkageType: ''
    returnType: void
    signature: "void FillLogEntry(const ReportRequestInfo& info, const std::string&
      name,\n                  const std::string& config_id, const Timestamp& current_time,\n
      \                 LogEntry* log_entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pred
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:951,1
    - Dst: std::vector::push_back
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - first
    - last
    - pred
    argTypes:
    - Element*
    - Element*
    - std::function<bool(const Element*)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 957
    functionName: espv2::api_proxy::service_control::FilterPointers
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - pred
    linkageType: ''
    returnType: std::vector<const Element*>
    signature: "std::vector<const Element*> FilterPointers(\n    const Element* first,
      const Element* last,\n    std::function<bool(const Element*)> pred)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:964,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:964,1
    - Dst: FilterPointers<SupportedMetric>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:965,1
    - Dst: FilterPointers<SupportedLabel>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ' logs'
    - ' service_name'
    - ' service_config_id'
    argTypes:
    - std::set<std::string>
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 972
    functionName: espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - FilterPointers<SupportedLabel>
    - begin
    - FilterPointers<SupportedMetric>
    - end
    linkageType: ''
    returnType: void
    signature: "void RequestBuilder::RequestBuilder(const std::set<std::string>& logs,\n
      \                              const std::string& service_name,\n                               const
      std::string& service_config_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:979,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:979,1
    - Dst: FilterPointers<SupportedMetric>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:980,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:983,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:983,1
    - Dst: FilterPointers<SupportedLabel>
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:985,1
    - Dst: find
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:989,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:989,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - ' logs'
    - ' metrics'
    - ' labels'
    - ' service_name'
    - ' service_config_id'
    argTypes:
    - std::set<std::string>
    - std::set<std::string>
    - std::set<std::string>
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 992
    functionName: espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - FilterPointers<SupportedMetric>
    - FilterPointers<SupportedLabel>
    - begin
    - find
    - end
    linkageType: ''
    returnType: void
    signature: "void RequestBuilder::RequestBuilder(const std::set<std::string>& logs,\n
      \                              const std::set<std::string>& metrics,\n                               const
      std::set<std::string>& labels,\n                               const std::string&
      service_name,\n                               const std::string& service_config_id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest*::mutable_allocate_operation
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:998,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1001,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_config_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1003,1
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1006,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1007,1
    - Dst: method_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1010,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_method_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1011,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1014,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1016,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1016,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1017,1
    - Dst: producer_project_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1018,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1019,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1019,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1020,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::set_quota_mode
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1024,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1029,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1030,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1034,1
    - Dst: get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1038,1
    - Dst: ::google::api::servicecontrol::v1::QuotaOperation*::add_quota_metrics
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1041,1
    - Dst: MetricValueSet*::set_metric_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1042,1
    - Dst: MetricValueSet*::add_metric_values
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1043,1
    - Dst: MetricValue*::set_int64_value
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1045,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1048,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - ' info'
    - request
    argTypes:
    - QuotaRequestInfo
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1049
    functionName: espv2::api_proxy::service_control::RequestBuilder::FillAllocateQuotaRequest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_name
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_quota_mode
    - producer_project_id::empty
    - get_service_agent
    - client_ip::empty
    - method_name::empty
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*::set_service_config_id
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_method_name
    - api_key::empty
    - ::google::api::servicecontrol::v1::QuotaOperation*::add_quota_metrics
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_consumer_id
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest*::mutable_allocate_operation
    - operation_id::empty
    - MetricValueSet*::set_metric_name
    - referer::empty
    - MetricValueSet*::add_metric_values
    - ::google::api::servicecontrol::v1::QuotaOperation*::set_operation_id
    - MetricValue*::set_int64_value
    - ::google::api::servicecontrol::v1::QuotaOperation*::mutable_labels
    - OkStatus
    - std::string
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::FillAllocateQuotaRequest(\n    const QuotaRequestInfo&
      info,\n    ::google::api::servicecontrol::v1::AllocateQuotaRequest* request)
      const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VerifyRequiredCheckFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1053,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1054,1
    - Dst: CheckRequest*::set_service_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1057,1
    - Dst: CheckRequest*::set_service_config_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1058,1
    - Dst: CreateTimestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1060,1
    - Dst: CheckRequest*::mutable_operation
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1061,1
    - Dst: SetOperationCommonFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1062,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1063,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1065,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1065,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1066,1
    - Dst: Operation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1069,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1070,1
    - Dst: referer::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1073,1
    - Dst: get_service_agent
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1077,1
    - Dst: android_package_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1079,1
    - Dst: android_cert_fingerprint::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1082,1
    - Dst: ios_bundle_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1086,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1090,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - ' info'
    - request
    argTypes:
    - CheckRequestInfo
    - CheckRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1091
    functionName: espv2::api_proxy::service_control::RequestBuilder::FillCheckRequest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - android_cert_fingerprint::empty
    - OkStatus
    - CreateTimestamp
    - Operation*::mutable_labels
    - api_key::empty
    - ios_bundle_id::empty
    - referer::empty
    - CheckRequest*::mutable_operation
    - CheckRequest*::set_service_name
    - VerifyRequiredCheckFields
    - CheckRequest*::set_service_config_id
    - SetOperationCommonFields
    - Status::ok
    - client_ip::empty
    - get_service_agent
    - std::string
    - android_package_name::empty
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::FillCheckRequest(const CheckRequestInfo& info,\n
      \                                       CheckRequest* request) const"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: VerifyRequiredReportFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1095,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1096,1
    - Dst: ReportRequest*::set_service_name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1099,1
    - Dst: ReportRequest*::set_service_config_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1100,1
    - Dst: CreateTimestamp
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1102,1
    - Dst: ReportRequest*::add_operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1103,1
    - Dst: SetOperationCommonFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1104,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1107,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1107,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1109,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1109,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1110,1
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1114,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1114,1
    - Dst: Operation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1115,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1117,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1117,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1121,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1131,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1131,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1136,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1143,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1143,1
    - Dst: FillLogEntry
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1144,1
    - Dst: Operation*::add_log_entries
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1145,1
    - Dst: check_response_info::consumer_project_number::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1148,1
    - Dst: espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1149,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1152,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 2
    argNames:
    - ' info'
    - request
    argTypes:
    - ReportRequestInfo
    - ReportRequest*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1153
    functionName: espv2::api_proxy::service_control::RequestBuilder::FillReportRequest
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
    - ASSERT
    - CreateTimestamp
    - Operation*::mutable_labels
    - Status::ok
    - FillLogEntry
    - operation_name::empty
    - check_response_info::consumer_project_number::empty
    - api_key::empty
    - ReportRequest*::add_operations
    - Operation*::set_consumer_id
    - operation_id::empty
    - VerifyRequiredReportFields
    - begin
    - SetOperationCommonFields
    - end
    - ReportRequest*::set_service_config_id
    - ReportRequest*::set_service_name
    - OkStatus
    - std::string
    - Operation*::add_log_entries
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::FillReportRequest(const ReportRequestInfo&
      info,\n                                         ReportRequest* request) const"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ::google::api::servicecontrol::v1::ReportRequest*::add_operations
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1159,1
    - Dst: SetOperationCommonFields
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1160,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1163,1
    - Dst: api_key::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1163,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1165,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1165,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1166,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1169,1
    - Dst: Operation*::operation_id
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1169,1
    - Dst: operation_id::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1172,1
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1172,1
    - Dst: Operation*::mutable_labels
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1173,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1175,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1175,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1179,1
    - Dst: begin
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1184,1
    - Dst: end
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1184,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1188,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - ' info'
    - request
    - current_time
    argTypes:
    - ReportRequestInfo
    - ::google::api::servicecontrol::v1::ReportRequest*
    - Timestamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1194
    functionName: espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 8
    functionsReached:
    - SetOperationCommonFields
    - Operation*::set_consumer_id
    - operation_name::empty
    - Operation*::operation_id
    - ASSERT
    - Operation*::mutable_labels
    - Operation*::set_operation_id
    - operation_id::empty
    - begin
    - Status::ok
    - OkStatus
    - ::google::api::servicecontrol::v1::ReportRequest*::add_operations
    - api_key::empty
    - std::string
    - end
    linkageType: ''
    returnType: Status
    signature: "Status RequestBuilder::AppendByConsumerOperations(\n    const ReportRequestInfo&
      info,\n    ::google::api::servicecontrol::v1::ReportRequest* request,\n    Timestamp
      current_time) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1200,1
    - Dst: metric_kind
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1200,1
    - Dst: value_type
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ' metric'
    argTypes:
    - ::google::api::MetricDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1206
    functionName: espv2::api_proxy::service_control::RequestBuilder::IsMetricSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - value_type
    - metric_kind
    - name
    linkageType: ''
    returnType: bool
    signature: "bool RequestBuilder::IsMetricSupported(\n    const ::google::api::MetricDescriptor&
      metric)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1212,1
    - Dst: value_type
      Src: /src/esp-v2/src/api_proxy/service_control/request_builder.cc:1212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ' label'
    argTypes:
    - ::google::api::LabelDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1217
    functionName: espv2::api_proxy::service_control::RequestBuilder::IsLabelSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    functionUses: 0
    functionsReached:
    - value_type
    - key
    linkageType: ''
    returnType: bool
    signature: "bool RequestBuilder::IsLabelSupported(\n    const ::google::api::LabelDescriptor&
      label)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:34,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:36,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:37,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:40,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:41,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:42,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:45,1
    - Dst: CheckResponse_ConsumerInfo_ConsumerType_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:49,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:50,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:53,1
    - Dst: check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:55,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:56,1
    - Dst: check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:63,1
    - Dst: CheckError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:65,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:65,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:70,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:73,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:77,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:80,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:85,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:89,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:93,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:97,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:98,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:102,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:105,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:108,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:111,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:115,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:118,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:122,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:123,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:127,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:131,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:139,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:144,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:145,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:147,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:147,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 73
    argCount: 3
    argNames:
    - ' check_response'
    - ' service_name'
    - check_response_info
    argTypes:
    - CheckResponse
    - std::string
    - CheckResponseInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 150
    functionName: espv2::api_proxy::service_control::ConvertCheckResponse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc
    functionUses: 48
    functionsReached:
    - check_info
    - absl::StrCat
    - check_errors
    - CheckError_Code_Name
    - code
    - Status
    - std::to_string
    - OkStatus
    - std::string
    - CheckResponse_ConsumerInfo_ConsumerType_Name
    linkageType: ''
    returnType: Status
    signature: "Status ConvertCheckResponse(const CheckResponse& check_response,\n
      \                           const std::string& service_name,\n                            CheckResponseInfo*
      check_response_info)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: allocate_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:156,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:157,1
    - Dst: allocate_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:161,1
    - Dst: QuotaError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:163,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:163,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:168,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:177,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:177,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:182,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:182,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:187,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:194,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:194,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:197,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:197,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - ' response'
    - quota_response_info
    argTypes:
    - ::google::api::servicecontrol::v1::AllocateQuotaResponse
    - QuotaResponseInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 201
    functionName: espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc
    functionUses: 0
    functionsReached:
    - QuotaError_Code_Name
    - description
    - code
    - allocate_errors
    - Status
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status ConvertAllocateQuotaResponse(\n    const ::google::api::servicecontrol::v1::AllocateQuotaResponse&
      response,\n    const std::string&, QuotaResponseInfo* quota_response_info)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:34,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:36,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:37,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:40,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:41,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:42,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:45,1
    - Dst: CheckResponse_ConsumerInfo_ConsumerType_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:49,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:50,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:53,1
    - Dst: check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:55,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:56,1
    - Dst: check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:63,1
    - Dst: CheckError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:65,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:65,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:70,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:73,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:77,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:80,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:85,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:89,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:93,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:97,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:98,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:102,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:105,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:108,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:111,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:115,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:118,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:122,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:123,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:127,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:131,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:139,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:144,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:145,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:147,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:147,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 73
    argCount: 3
    argNames:
    - ' check_response'
    - ' service_name'
    - check_response_info
    argTypes:
    - CheckResponse
    - std::string
    - CheckResponseInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 150
    functionName: espv2::api_proxy::service_control::ConvertCheckResponse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc
    functionUses: 48
    functionsReached:
    - check_info
    - absl::StrCat
    - check_errors
    - CheckError_Code_Name
    - code
    - Status
    - std::to_string
    - OkStatus
    - std::string
    - CheckResponse_ConsumerInfo_ConsumerType_Name
    linkageType: ''
    returnType: Status
    signature: "Status ConvertCheckResponse(const CheckResponse& check_response,\n
      \                           const std::string& service_name,\n                            CheckResponseInfo*
      check_response_info)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: allocate_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:156,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:157,1
    - Dst: allocate_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:161,1
    - Dst: QuotaError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:163,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:163,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:168,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:177,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:177,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:182,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:182,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:187,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:194,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:194,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:197,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:197,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - ' response'
    - quota_response_info
    argTypes:
    - ::google::api::servicecontrol::v1::AllocateQuotaResponse
    - QuotaResponseInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 201
    functionName: espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc
    functionUses: 0
    functionsReached:
    - QuotaError_Code_Name
    - description
    - code
    - allocate_errors
    - Status
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status ConvertAllocateQuotaResponse(\n    const ::google::api::servicecontrol::v1::AllocateQuotaResponse&
      response,\n    const std::string&, QuotaResponseInfo* quota_response_info)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:34,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:36,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:37,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:40,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:41,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:42,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:45,1
    - Dst: CheckResponse_ConsumerInfo_ConsumerType_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:49,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:50,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:53,1
    - Dst: check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:55,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:56,1
    - Dst: check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:63,1
    - Dst: CheckError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:65,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:65,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:70,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:73,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:77,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:80,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:85,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:89,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:93,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:97,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:98,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:102,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:105,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:108,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:111,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:115,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:118,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:122,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:123,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:127,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:131,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:139,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:144,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:145,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:147,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:147,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 73
    argCount: 3
    argNames:
    - ' check_response'
    - ' service_name'
    - check_response_info
    argTypes:
    - CheckResponse
    - std::string
    - CheckResponseInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 150
    functionName: espv2::api_proxy::service_control::ConvertCheckResponse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc
    functionUses: 48
    functionsReached:
    - check_info
    - absl::StrCat
    - check_errors
    - CheckError_Code_Name
    - code
    - Status
    - std::to_string
    - OkStatus
    - std::string
    - CheckResponse_ConsumerInfo_ConsumerType_Name
    linkageType: ''
    returnType: Status
    signature: "Status ConvertCheckResponse(const CheckResponse& check_response,\n
      \                           const std::string& service_name,\n                            CheckResponseInfo*
      check_response_info)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: allocate_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:156,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:157,1
    - Dst: allocate_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:161,1
    - Dst: QuotaError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:163,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:163,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:168,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:177,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:177,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:182,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:182,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:187,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:194,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:194,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:197,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:197,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - ' response'
    - quota_response_info
    argTypes:
    - ::google::api::servicecontrol::v1::AllocateQuotaResponse
    - QuotaResponseInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 201
    functionName: espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc
    functionUses: 0
    functionsReached:
    - QuotaError_Code_Name
    - description
    - code
    - allocate_errors
    - Status
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status ConvertAllocateQuotaResponse(\n    const ::google::api::servicecontrol::v1::AllocateQuotaResponse&
      response,\n    const std::string&, QuotaResponseInfo* quota_response_info)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:34,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:36,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:37,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:40,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:41,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:42,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:45,1
    - Dst: CheckResponse_ConsumerInfo_ConsumerType_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:49,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:50,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:53,1
    - Dst: check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:55,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:56,1
    - Dst: check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:63,1
    - Dst: CheckError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:65,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:65,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:70,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:73,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:77,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:80,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:85,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:89,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:93,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:97,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:98,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:102,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:105,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:108,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:111,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:115,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:118,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:122,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:123,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:127,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:131,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:139,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:144,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:145,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:147,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:147,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 73
    argCount: 3
    argNames:
    - ' check_response'
    - ' service_name'
    - check_response_info
    argTypes:
    - CheckResponse
    - std::string
    - CheckResponseInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 150
    functionName: espv2::api_proxy::service_control::ConvertCheckResponse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc
    functionUses: 48
    functionsReached:
    - check_info
    - absl::StrCat
    - check_errors
    - CheckError_Code_Name
    - code
    - Status
    - std::to_string
    - OkStatus
    - std::string
    - CheckResponse_ConsumerInfo_ConsumerType_Name
    linkageType: ''
    returnType: Status
    signature: "Status ConvertCheckResponse(const CheckResponse& check_response,\n
      \                           const std::string& service_name,\n                            CheckResponseInfo*
      check_response_info)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: allocate_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:156,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:157,1
    - Dst: allocate_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:161,1
    - Dst: QuotaError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:163,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:163,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:168,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:177,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:177,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:182,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:182,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:187,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:194,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:194,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:197,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:197,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - ' response'
    - quota_response_info
    argTypes:
    - ::google::api::servicecontrol::v1::AllocateQuotaResponse
    - QuotaResponseInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 201
    functionName: espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc
    functionUses: 0
    functionsReached:
    - QuotaError_Code_Name
    - description
    - code
    - allocate_errors
    - Status
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status ConvertAllocateQuotaResponse(\n    const ::google::api::servicecontrol::v1::AllocateQuotaResponse&
      response,\n    const std::string&, QuotaResponseInfo* quota_response_info)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:34,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:36,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:37,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:40,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:41,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:42,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:45,1
    - Dst: CheckResponse_ConsumerInfo_ConsumerType_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:49,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:50,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:53,1
    - Dst: check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:55,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:56,1
    - Dst: check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:63,1
    - Dst: CheckError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:65,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:65,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:70,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:73,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:77,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:80,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:85,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:89,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:93,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:97,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:98,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:102,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:105,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:108,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:111,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:115,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:118,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:122,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:123,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:127,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:131,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:139,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:144,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:145,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:147,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:147,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 73
    argCount: 3
    argNames:
    - ' check_response'
    - ' service_name'
    - check_response_info
    argTypes:
    - CheckResponse
    - std::string
    - CheckResponseInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 150
    functionName: espv2::api_proxy::service_control::ConvertCheckResponse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc
    functionUses: 48
    functionsReached:
    - check_info
    - absl::StrCat
    - check_errors
    - CheckError_Code_Name
    - code
    - Status
    - std::to_string
    - OkStatus
    - std::string
    - CheckResponse_ConsumerInfo_ConsumerType_Name
    linkageType: ''
    returnType: Status
    signature: "Status ConvertCheckResponse(const CheckResponse& check_response,\n
      \                           const std::string& service_name,\n                            CheckResponseInfo*
      check_response_info)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: allocate_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:156,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:157,1
    - Dst: allocate_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:161,1
    - Dst: QuotaError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:163,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:163,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:168,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:177,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:177,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:182,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:182,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:187,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:194,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:194,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:197,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:197,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - ' response'
    - quota_response_info
    argTypes:
    - ::google::api::servicecontrol::v1::AllocateQuotaResponse
    - QuotaResponseInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 201
    functionName: espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc
    functionUses: 0
    functionsReached:
    - QuotaError_Code_Name
    - description
    - code
    - allocate_errors
    - Status
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status ConvertAllocateQuotaResponse(\n    const ::google::api::servicecontrol::v1::AllocateQuotaResponse&
      response,\n    const std::string&, QuotaResponseInfo* quota_response_info)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:34,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:36,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:37,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:40,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:41,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:42,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:45,1
    - Dst: CheckResponse_ConsumerInfo_ConsumerType_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:49,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:50,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:53,1
    - Dst: check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:55,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:56,1
    - Dst: check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:63,1
    - Dst: CheckError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:65,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:65,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:70,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:73,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:77,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:80,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:85,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:89,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:93,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:97,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:98,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:102,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:105,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:108,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:111,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:115,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:118,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:122,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:123,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:127,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:131,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:139,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:144,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:145,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:147,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:147,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 73
    argCount: 3
    argNames:
    - ' check_response'
    - ' service_name'
    - check_response_info
    argTypes:
    - CheckResponse
    - std::string
    - CheckResponseInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 150
    functionName: espv2::api_proxy::service_control::ConvertCheckResponse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc
    functionUses: 48
    functionsReached:
    - check_info
    - absl::StrCat
    - check_errors
    - CheckError_Code_Name
    - code
    - Status
    - std::to_string
    - OkStatus
    - std::string
    - CheckResponse_ConsumerInfo_ConsumerType_Name
    linkageType: ''
    returnType: Status
    signature: "Status ConvertCheckResponse(const CheckResponse& check_response,\n
      \                           const std::string& service_name,\n                            CheckResponseInfo*
      check_response_info)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: allocate_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:156,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:157,1
    - Dst: allocate_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:161,1
    - Dst: QuotaError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:163,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:163,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:168,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:177,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:177,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:182,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:182,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:187,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:194,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:194,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:197,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:197,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - ' response'
    - quota_response_info
    argTypes:
    - ::google::api::servicecontrol::v1::AllocateQuotaResponse
    - QuotaResponseInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 201
    functionName: espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc
    functionUses: 0
    functionsReached:
    - QuotaError_Code_Name
    - description
    - code
    - allocate_errors
    - Status
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status ConvertAllocateQuotaResponse(\n    const ::google::api::servicecontrol::v1::AllocateQuotaResponse&
      response,\n    const std::string&, QuotaResponseInfo* quota_response_info)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:34,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:36,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:37,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:40,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:41,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:42,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:45,1
    - Dst: CheckResponse_ConsumerInfo_ConsumerType_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:49,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:50,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:53,1
    - Dst: check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:55,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:56,1
    - Dst: check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:63,1
    - Dst: CheckError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:65,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:65,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:70,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:73,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:77,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:80,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:85,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:89,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:93,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:97,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:98,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:102,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:105,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:108,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:111,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:115,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:118,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:122,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:123,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:127,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:131,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:139,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:144,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:145,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:147,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:147,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 73
    argCount: 3
    argNames:
    - ' check_response'
    - ' service_name'
    - check_response_info
    argTypes:
    - CheckResponse
    - std::string
    - CheckResponseInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 150
    functionName: espv2::api_proxy::service_control::ConvertCheckResponse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc
    functionUses: 48
    functionsReached:
    - check_info
    - absl::StrCat
    - check_errors
    - CheckError_Code_Name
    - code
    - Status
    - std::to_string
    - OkStatus
    - std::string
    - CheckResponse_ConsumerInfo_ConsumerType_Name
    linkageType: ''
    returnType: Status
    signature: "Status ConvertCheckResponse(const CheckResponse& check_response,\n
      \                           const std::string& service_name,\n                            CheckResponseInfo*
      check_response_info)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: allocate_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:156,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:157,1
    - Dst: allocate_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:161,1
    - Dst: QuotaError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:163,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:163,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:168,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:177,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:177,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:182,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:182,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:187,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:194,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:194,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:197,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:197,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - ' response'
    - quota_response_info
    argTypes:
    - ::google::api::servicecontrol::v1::AllocateQuotaResponse
    - QuotaResponseInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 201
    functionName: espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc
    functionUses: 0
    functionsReached:
    - QuotaError_Code_Name
    - description
    - code
    - allocate_errors
    - Status
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status ConvertAllocateQuotaResponse(\n    const ::google::api::servicecontrol::v1::AllocateQuotaResponse&
      response,\n    const std::string&, QuotaResponseInfo* quota_response_info)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:34,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:36,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:37,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:40,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:41,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:42,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:45,1
    - Dst: CheckResponse_ConsumerInfo_ConsumerType_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:49,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:50,1
    - Dst: check_info
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:53,1
    - Dst: check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:55,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:56,1
    - Dst: check_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:63,1
    - Dst: CheckError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:65,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:65,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:70,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:73,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:77,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:80,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:85,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:89,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:93,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:97,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:98,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:102,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:105,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:108,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:111,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:115,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:118,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:122,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:123,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:127,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:131,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:139,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:144,1
    - Dst: std::string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:145,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:147,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:147,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 73
    argCount: 3
    argNames:
    - ' check_response'
    - ' service_name'
    - check_response_info
    argTypes:
    - CheckResponse
    - std::string
    - CheckResponseInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 150
    functionName: espv2::api_proxy::service_control::ConvertCheckResponse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc
    functionUses: 48
    functionsReached:
    - check_info
    - absl::StrCat
    - check_errors
    - CheckError_Code_Name
    - code
    - Status
    - std::to_string
    - OkStatus
    - std::string
    - CheckResponse_ConsumerInfo_ConsumerType_Name
    linkageType: ''
    returnType: Status
    signature: "Status ConvertCheckResponse(const CheckResponse& check_response,\n
      \                           const std::string& service_name,\n                            CheckResponseInfo*
      check_response_info)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: allocate_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:156,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:157,1
    - Dst: allocate_errors
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:161,1
    - Dst: QuotaError_Code_Name
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:163,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:163,1
    - Dst: code
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:168,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:177,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:177,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:182,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:182,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:187,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:194,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:194,1
    - Dst: Status
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:197,1
    - Dst: description
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:197,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - ' response'
    - quota_response_info
    argTypes:
    - ::google::api::servicecontrol::v1::AllocateQuotaResponse
    - QuotaResponseInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 201
    functionName: espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc
    functionUses: 0
    functionsReached:
    - QuotaError_Code_Name
    - description
    - code
    - allocate_errors
    - Status
    - OkStatus
    linkageType: ''
    returnType: Status
    signature: "Status ConvertAllocateQuotaResponse(\n    const ::google::api::servicecontrol::v1::AllocateQuotaResponse&
      response,\n    const std::string&, QuotaResponseInfo* quota_response_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::TextFormat::Parser::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:46,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: espv2::api_proxy::service_control::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ::google::protobuf::TextFormat::Parser::Parse
    - EXPECT_TRUE
    linkageType: ''
    returnType: Message
    signature: Message Parse(const char* text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' value'
    - prefix
    - size
    argTypes:
    - std::string
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: espv2::api_proxy::service_control::StartsWith
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - compare
    linkageType: ''
    returnType: bool
    signature: bool StartsWith(const std::string& value, const char* prefix, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ld'
    argTypes:
    - LabelDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::IsLabelSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - key
    linkageType: ''
    returnType: bool
    signature: bool IsLabelSupported(const LabelDescriptor& ld)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' md'
    argTypes:
    - MetricDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: espv2::api_proxy::service_control::IsMetricSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - name
    linkageType: ''
    returnType: bool
    signature: bool IsMetricSupported(const MetricDescriptor& md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::TextFormat::Parser::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:46,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: espv2::api_proxy::service_control::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ::google::protobuf::TextFormat::Parser::Parse
    - EXPECT_TRUE
    linkageType: ''
    returnType: Message
    signature: Message Parse(const char* text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' value'
    - prefix
    - size
    argTypes:
    - std::string
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: espv2::api_proxy::service_control::StartsWith
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 2
    functionsReached:
    - compare
    linkageType: ''
    returnType: bool
    signature: bool StartsWith(const std::string& value, const char* prefix, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ld'
    argTypes:
    - LabelDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::IsLabelSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - key
    linkageType: ''
    returnType: bool
    signature: bool IsLabelSupported(const LabelDescriptor& ld)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' md'
    argTypes:
    - MetricDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: espv2::api_proxy::service_control::IsMetricSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - name
    linkageType: ''
    returnType: bool
    signature: bool IsMetricSupported(const MetricDescriptor& md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:73,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:73,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:74,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - ASSERT_FALSE
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoaderTest, StartsWith)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:80,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:81,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:81,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:83,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:83,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:84,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:85,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:85,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:86,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:87,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:87,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:88,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:89,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:89,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:93,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:93,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:94,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:95,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:95,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:96,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:97,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:97,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:98,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:99,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:99,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:100,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:101,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 102
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_FALSE
    - espv2::api_proxy::service_control::IsMetricSupported
    - MetricDescriptor::set_name
    - espv2::api_proxy::service_control::IsLabelSupported
    - LabelDescriptor::set_key
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoaderTest, IsSupported)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:110,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:111,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:114,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:115,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:115,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:115,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:120,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:121,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:124,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:125,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 127
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - LabelMap::empty
    - Pair
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - RepeatedPtrField::Add
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddDuplicateLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:146,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:150,1
    - Dst: LabelDescriptor::set_value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:151,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:153,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:153,1
    - Dst: LogDescriptor::labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:153,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:156,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:157,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:158,1
    - Dst: Property
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:158,1
    - Dst: Eq
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 160
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - LabelDescriptor::set_key
    - Pair
    - ASSERT_FALSE
    - Property
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    - Eq
    - LabelDescriptor::set_value_type
    - LogDescriptor::labels
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddConflictingLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:165,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:166,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:170,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:170,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:171,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:171,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - Pair
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - RepeatedPtrField::Add
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddUnsupportedLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:178,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:181,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:184,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:184,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:185,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:185,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - Pair
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - RepeatedPtrField::Add
    - LabelDescriptor::set_key
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddRedundantLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:194,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:194,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:195,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - LabelMap::empty
    - LogsMetricsLoader::AddLabels
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddNoLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:219,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:225,1
    - Dst: LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:225,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:225,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:226,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:226,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:226,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:230,1
    - Dst: LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:230,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:230,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:231,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:231,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:231,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:237,1
    - Dst: LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:237,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:237,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:238,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 240
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - LabelMap::empty
    - Pair
    - ASSERT_FALSE
    - ASSERT_THAT
    - Service::logs
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    - LogsMetricsLoader::AddLogLabels
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddLogLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:264,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:271,1
    - Dst: LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:271,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:272,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:275,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:275,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:275,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:279,1
    - Dst: LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:279,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:280,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:283,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:283,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:283,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:289,1
    - Dst: LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:289,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:290,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:293,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 295
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - LogsMetricsLoader::AddMonitoredResourceLabels
    - ASSERT_TRUE
    - Service::monitored_resources
    - LabelMap::empty
    - Pair
    - ASSERT_FALSE
    - ASSERT_THAT
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddMonitoredResourceLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:345,1
    - Dst: LogsMetricsLoader::AddLoggingDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:351,1
    - Dst: Service::logging
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:352,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:352,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:353,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:354,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:354,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:357,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:357,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:361,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:362,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:362,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 364
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - Service::monitored_resources
    - LogsMetricsLoader::AddLoggingDestinations
    - Pair
    - Service::logging
    - ASSERT_THAT
    - Status::ok
    - Service::logs
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddLoggingDestinations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:429,1
    - Dst: LogsMetricsLoader::AddMonitoringDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:434,1
    - Dst: Service::monitoring
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:435,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:436,1
    - Dst: Service::metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:436,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:437,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:437,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:440,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:441,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:441,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:445,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:445,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:446,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 448
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - Service::metrics
    - ASSERT_TRUE
    - Service::monitored_resources
    - Pair
    - Service::monitoring
    - ASSERT_THAT
    - Status::ok
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    - LogsMetricsLoader::AddMonitoringDestinations
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddMonitoringDestinations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:530,1
    - Dst: LogsMetricsLoader::LoadLogsMetrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:534,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:535,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:535,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:537,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:537,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:538,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:539,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:542,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 551
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - LogsMetricsLoader::LoadLogsMetrics
    - ASSERT_THAT
    - Status::ok
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, LoadLogsMetrics)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::TextFormat::Parser::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:46,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: espv2::api_proxy::service_control::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 6
    functionsReached:
    - ::google::protobuf::TextFormat::Parser::Parse
    - EXPECT_TRUE
    linkageType: ''
    returnType: Message
    signature: Message Parse(const char* text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' value'
    - prefix
    - size
    argTypes:
    - std::string
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: espv2::api_proxy::service_control::StartsWith
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 5
    functionsReached:
    - compare
    linkageType: ''
    returnType: bool
    signature: bool StartsWith(const std::string& value, const char* prefix, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ld'
    argTypes:
    - LabelDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::IsLabelSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 1
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - key
    linkageType: ''
    returnType: bool
    signature: bool IsLabelSupported(const LabelDescriptor& ld)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' md'
    argTypes:
    - MetricDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: espv2::api_proxy::service_control::IsMetricSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 1
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - name
    linkageType: ''
    returnType: bool
    signature: bool IsMetricSupported(const MetricDescriptor& md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::TextFormat::Parser::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:46,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: espv2::api_proxy::service_control::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 6
    functionsReached:
    - ::google::protobuf::TextFormat::Parser::Parse
    - EXPECT_TRUE
    linkageType: ''
    returnType: Message
    signature: Message Parse(const char* text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' value'
    - prefix
    - size
    argTypes:
    - std::string
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: espv2::api_proxy::service_control::StartsWith
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 7
    functionsReached:
    - compare
    linkageType: ''
    returnType: bool
    signature: bool StartsWith(const std::string& value, const char* prefix, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ld'
    argTypes:
    - LabelDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::IsLabelSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 1
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - key
    linkageType: ''
    returnType: bool
    signature: bool IsLabelSupported(const LabelDescriptor& ld)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' md'
    argTypes:
    - MetricDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: espv2::api_proxy::service_control::IsMetricSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 1
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - name
    linkageType: ''
    returnType: bool
    signature: bool IsMetricSupported(const MetricDescriptor& md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:73,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:73,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:74,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - ASSERT_FALSE
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoaderTest, StartsWith)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:80,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:81,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:81,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:83,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:83,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:84,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:85,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:85,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:86,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:87,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:87,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:88,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:89,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:89,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:93,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:93,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:94,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:95,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:95,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:96,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:97,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:97,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:98,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:99,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:99,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:100,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:101,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 102
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_FALSE
    - espv2::api_proxy::service_control::IsMetricSupported
    - MetricDescriptor::set_name
    - espv2::api_proxy::service_control::IsLabelSupported
    - LabelDescriptor::set_key
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoaderTest, IsSupported)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:110,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:111,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:114,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:115,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:115,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:115,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:120,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:121,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:124,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:125,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 127
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - LabelMap::empty
    - Pair
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - RepeatedPtrField::Add
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddDuplicateLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:146,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:150,1
    - Dst: LabelDescriptor::set_value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:151,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:153,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:153,1
    - Dst: LogDescriptor::labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:153,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:156,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:157,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:158,1
    - Dst: Property
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:158,1
    - Dst: Eq
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 160
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - LabelDescriptor::set_key
    - Pair
    - ASSERT_FALSE
    - Property
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    - Eq
    - LabelDescriptor::set_value_type
    - LogDescriptor::labels
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddConflictingLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:165,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:166,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:170,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:170,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:171,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:171,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - Pair
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - RepeatedPtrField::Add
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddUnsupportedLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:178,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:181,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:184,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:184,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:185,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:185,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - Pair
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - RepeatedPtrField::Add
    - LabelDescriptor::set_key
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddRedundantLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:194,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:194,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:195,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - LabelMap::empty
    - LogsMetricsLoader::AddLabels
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddNoLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:219,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:225,1
    - Dst: LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:225,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:225,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:226,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:226,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:226,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:230,1
    - Dst: LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:230,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:230,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:231,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:231,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:231,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:237,1
    - Dst: LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:237,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:237,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:238,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 240
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - LabelMap::empty
    - Pair
    - ASSERT_FALSE
    - ASSERT_THAT
    - Service::logs
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    - LogsMetricsLoader::AddLogLabels
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddLogLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:264,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:271,1
    - Dst: LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:271,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:272,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:275,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:275,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:275,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:279,1
    - Dst: LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:279,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:280,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:283,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:283,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:283,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:289,1
    - Dst: LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:289,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:290,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:293,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 295
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - LogsMetricsLoader::AddMonitoredResourceLabels
    - ASSERT_TRUE
    - Service::monitored_resources
    - LabelMap::empty
    - Pair
    - ASSERT_FALSE
    - ASSERT_THAT
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddMonitoredResourceLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:345,1
    - Dst: LogsMetricsLoader::AddLoggingDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:351,1
    - Dst: Service::logging
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:352,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:352,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:353,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:354,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:354,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:357,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:357,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:361,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:362,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:362,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 364
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - Service::monitored_resources
    - LogsMetricsLoader::AddLoggingDestinations
    - Pair
    - Service::logging
    - ASSERT_THAT
    - Status::ok
    - Service::logs
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddLoggingDestinations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:429,1
    - Dst: LogsMetricsLoader::AddMonitoringDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:434,1
    - Dst: Service::monitoring
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:435,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:436,1
    - Dst: Service::metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:436,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:437,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:437,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:440,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:441,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:441,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:445,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:445,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:446,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 448
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - Service::metrics
    - ASSERT_TRUE
    - Service::monitored_resources
    - Pair
    - Service::monitoring
    - ASSERT_THAT
    - Status::ok
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    - LogsMetricsLoader::AddMonitoringDestinations
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddMonitoringDestinations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:530,1
    - Dst: LogsMetricsLoader::LoadLogsMetrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:534,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:535,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:535,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:537,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:537,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:538,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:539,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:542,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 551
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - LogsMetricsLoader::LoadLogsMetrics
    - ASSERT_THAT
    - Status::ok
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, LoadLogsMetrics)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::TextFormat::Parser::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:46,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: espv2::api_proxy::service_control::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 12
    functionsReached:
    - ::google::protobuf::TextFormat::Parser::Parse
    - EXPECT_TRUE
    linkageType: ''
    returnType: Message
    signature: Message Parse(const char* text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' value'
    - prefix
    - size
    argTypes:
    - std::string
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: espv2::api_proxy::service_control::StartsWith
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 10
    functionsReached:
    - compare
    linkageType: ''
    returnType: bool
    signature: bool StartsWith(const std::string& value, const char* prefix, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ld'
    argTypes:
    - LabelDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::IsLabelSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 2
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - key
    linkageType: ''
    returnType: bool
    signature: bool IsLabelSupported(const LabelDescriptor& ld)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' md'
    argTypes:
    - MetricDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: espv2::api_proxy::service_control::IsMetricSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 2
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - name
    linkageType: ''
    returnType: bool
    signature: bool IsMetricSupported(const MetricDescriptor& md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::TextFormat::Parser::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:46,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: espv2::api_proxy::service_control::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 12
    functionsReached:
    - ::google::protobuf::TextFormat::Parser::Parse
    - EXPECT_TRUE
    linkageType: ''
    returnType: Message
    signature: Message Parse(const char* text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' value'
    - prefix
    - size
    argTypes:
    - std::string
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: espv2::api_proxy::service_control::StartsWith
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 12
    functionsReached:
    - compare
    linkageType: ''
    returnType: bool
    signature: bool StartsWith(const std::string& value, const char* prefix, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ld'
    argTypes:
    - LabelDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::IsLabelSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 2
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - key
    linkageType: ''
    returnType: bool
    signature: bool IsLabelSupported(const LabelDescriptor& ld)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' md'
    argTypes:
    - MetricDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: espv2::api_proxy::service_control::IsMetricSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 2
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - name
    linkageType: ''
    returnType: bool
    signature: bool IsMetricSupported(const MetricDescriptor& md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:73,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:73,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:74,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - ASSERT_FALSE
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoaderTest, StartsWith)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:80,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:81,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:81,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:83,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:83,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:84,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:85,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:85,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:86,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:87,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:87,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:88,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:89,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:89,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:93,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:93,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:94,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:95,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:95,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:96,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:97,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:97,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:98,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:99,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:99,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:100,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:101,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 102
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_FALSE
    - espv2::api_proxy::service_control::IsMetricSupported
    - MetricDescriptor::set_name
    - espv2::api_proxy::service_control::IsLabelSupported
    - LabelDescriptor::set_key
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoaderTest, IsSupported)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:110,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:111,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:114,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:115,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:115,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:115,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:120,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:121,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:124,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:125,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 127
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - LabelMap::empty
    - Pair
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - RepeatedPtrField::Add
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddDuplicateLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:146,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:150,1
    - Dst: LabelDescriptor::set_value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:151,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:153,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:153,1
    - Dst: LogDescriptor::labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:153,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:156,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:157,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:158,1
    - Dst: Property
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:158,1
    - Dst: Eq
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 160
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - LabelDescriptor::set_key
    - Pair
    - ASSERT_FALSE
    - Property
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    - Eq
    - LabelDescriptor::set_value_type
    - LogDescriptor::labels
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddConflictingLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:165,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:166,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:170,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:170,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:171,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:171,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - Pair
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - RepeatedPtrField::Add
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddUnsupportedLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:178,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:181,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:184,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:184,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:185,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:185,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - Pair
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - RepeatedPtrField::Add
    - LabelDescriptor::set_key
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddRedundantLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:194,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:194,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:195,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - LabelMap::empty
    - LogsMetricsLoader::AddLabels
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddNoLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:219,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:225,1
    - Dst: LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:225,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:225,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:226,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:226,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:226,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:230,1
    - Dst: LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:230,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:230,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:231,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:231,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:231,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:237,1
    - Dst: LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:237,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:237,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:238,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 240
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - LabelMap::empty
    - Pair
    - ASSERT_FALSE
    - ASSERT_THAT
    - Service::logs
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    - LogsMetricsLoader::AddLogLabels
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddLogLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:264,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:271,1
    - Dst: LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:271,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:272,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:275,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:275,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:275,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:279,1
    - Dst: LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:279,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:280,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:283,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:283,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:283,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:289,1
    - Dst: LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:289,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:290,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:293,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 295
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - LogsMetricsLoader::AddMonitoredResourceLabels
    - ASSERT_TRUE
    - Service::monitored_resources
    - LabelMap::empty
    - Pair
    - ASSERT_FALSE
    - ASSERT_THAT
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddMonitoredResourceLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:345,1
    - Dst: LogsMetricsLoader::AddLoggingDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:351,1
    - Dst: Service::logging
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:352,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:352,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:353,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:354,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:354,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:357,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:357,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:361,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:362,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:362,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 364
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - Service::monitored_resources
    - LogsMetricsLoader::AddLoggingDestinations
    - Pair
    - Service::logging
    - ASSERT_THAT
    - Status::ok
    - Service::logs
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddLoggingDestinations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:429,1
    - Dst: LogsMetricsLoader::AddMonitoringDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:434,1
    - Dst: Service::monitoring
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:435,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:436,1
    - Dst: Service::metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:436,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:437,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:437,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:440,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:441,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:441,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:445,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:445,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:446,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 448
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - Service::metrics
    - ASSERT_TRUE
    - Service::monitored_resources
    - Pair
    - Service::monitoring
    - ASSERT_THAT
    - Status::ok
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    - LogsMetricsLoader::AddMonitoringDestinations
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddMonitoringDestinations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:530,1
    - Dst: LogsMetricsLoader::LoadLogsMetrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:534,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:535,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:535,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:537,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:537,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:538,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:539,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:542,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 551
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - LogsMetricsLoader::LoadLogsMetrics
    - ASSERT_THAT
    - Status::ok
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, LoadLogsMetrics)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::TextFormat::Parser::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:46,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: espv2::api_proxy::service_control::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 18
    functionsReached:
    - ::google::protobuf::TextFormat::Parser::Parse
    - EXPECT_TRUE
    linkageType: ''
    returnType: Message
    signature: Message Parse(const char* text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' value'
    - prefix
    - size
    argTypes:
    - std::string
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: espv2::api_proxy::service_control::StartsWith
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 15
    functionsReached:
    - compare
    linkageType: ''
    returnType: bool
    signature: bool StartsWith(const std::string& value, const char* prefix, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ld'
    argTypes:
    - LabelDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::IsLabelSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 3
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - key
    linkageType: ''
    returnType: bool
    signature: bool IsLabelSupported(const LabelDescriptor& ld)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' md'
    argTypes:
    - MetricDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: espv2::api_proxy::service_control::IsMetricSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 3
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - name
    linkageType: ''
    returnType: bool
    signature: bool IsMetricSupported(const MetricDescriptor& md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::TextFormat::Parser::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:46,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: espv2::api_proxy::service_control::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 18
    functionsReached:
    - ::google::protobuf::TextFormat::Parser::Parse
    - EXPECT_TRUE
    linkageType: ''
    returnType: Message
    signature: Message Parse(const char* text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' value'
    - prefix
    - size
    argTypes:
    - std::string
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: espv2::api_proxy::service_control::StartsWith
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 17
    functionsReached:
    - compare
    linkageType: ''
    returnType: bool
    signature: bool StartsWith(const std::string& value, const char* prefix, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ld'
    argTypes:
    - LabelDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::IsLabelSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 3
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - key
    linkageType: ''
    returnType: bool
    signature: bool IsLabelSupported(const LabelDescriptor& ld)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' md'
    argTypes:
    - MetricDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: espv2::api_proxy::service_control::IsMetricSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 3
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - name
    linkageType: ''
    returnType: bool
    signature: bool IsMetricSupported(const MetricDescriptor& md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:73,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:73,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:74,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - ASSERT_FALSE
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoaderTest, StartsWith)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:80,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:81,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:81,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:83,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:83,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:84,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:85,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:85,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:86,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:87,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:87,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:88,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:89,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:89,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:93,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:93,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:94,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:95,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:95,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:96,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:97,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:97,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:98,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:99,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:99,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:100,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:101,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 102
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_FALSE
    - espv2::api_proxy::service_control::IsMetricSupported
    - MetricDescriptor::set_name
    - espv2::api_proxy::service_control::IsLabelSupported
    - LabelDescriptor::set_key
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoaderTest, IsSupported)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:110,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:111,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:114,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:115,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:115,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:115,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:120,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:121,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:124,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:125,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 127
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - LabelMap::empty
    - Pair
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - RepeatedPtrField::Add
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddDuplicateLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:146,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:150,1
    - Dst: LabelDescriptor::set_value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:151,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:153,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:153,1
    - Dst: LogDescriptor::labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:153,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:156,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:157,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:158,1
    - Dst: Property
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:158,1
    - Dst: Eq
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 160
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - LabelDescriptor::set_key
    - Pair
    - ASSERT_FALSE
    - Property
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    - Eq
    - LabelDescriptor::set_value_type
    - LogDescriptor::labels
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddConflictingLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:165,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:166,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:170,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:170,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:171,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:171,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - Pair
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - RepeatedPtrField::Add
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddUnsupportedLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:178,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:181,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:184,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:184,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:185,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:185,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - Pair
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - RepeatedPtrField::Add
    - LabelDescriptor::set_key
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddRedundantLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:194,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:194,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:195,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - LabelMap::empty
    - LogsMetricsLoader::AddLabels
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddNoLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:219,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:225,1
    - Dst: LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:225,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:225,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:226,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:226,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:226,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:230,1
    - Dst: LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:230,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:230,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:231,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:231,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:231,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:237,1
    - Dst: LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:237,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:237,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:238,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 240
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - LabelMap::empty
    - Pair
    - ASSERT_FALSE
    - ASSERT_THAT
    - Service::logs
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    - LogsMetricsLoader::AddLogLabels
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddLogLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:264,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:271,1
    - Dst: LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:271,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:272,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:275,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:275,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:275,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:279,1
    - Dst: LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:279,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:280,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:283,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:283,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:283,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:289,1
    - Dst: LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:289,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:290,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:293,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 295
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - LogsMetricsLoader::AddMonitoredResourceLabels
    - ASSERT_TRUE
    - Service::monitored_resources
    - LabelMap::empty
    - Pair
    - ASSERT_FALSE
    - ASSERT_THAT
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddMonitoredResourceLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:345,1
    - Dst: LogsMetricsLoader::AddLoggingDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:351,1
    - Dst: Service::logging
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:352,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:352,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:353,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:354,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:354,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:357,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:357,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:361,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:362,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:362,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 364
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - Service::monitored_resources
    - LogsMetricsLoader::AddLoggingDestinations
    - Pair
    - Service::logging
    - ASSERT_THAT
    - Status::ok
    - Service::logs
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddLoggingDestinations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:429,1
    - Dst: LogsMetricsLoader::AddMonitoringDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:434,1
    - Dst: Service::monitoring
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:435,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:436,1
    - Dst: Service::metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:436,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:437,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:437,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:440,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:441,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:441,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:445,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:445,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:446,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 448
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - Service::metrics
    - ASSERT_TRUE
    - Service::monitored_resources
    - Pair
    - Service::monitoring
    - ASSERT_THAT
    - Status::ok
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    - LogsMetricsLoader::AddMonitoringDestinations
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddMonitoringDestinations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:530,1
    - Dst: LogsMetricsLoader::LoadLogsMetrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:534,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:535,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:535,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:537,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:537,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:538,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:539,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:542,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 551
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - LogsMetricsLoader::LoadLogsMetrics
    - ASSERT_THAT
    - Status::ok
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, LoadLogsMetrics)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::TextFormat::Parser::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:46,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: espv2::api_proxy::service_control::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 24
    functionsReached:
    - ::google::protobuf::TextFormat::Parser::Parse
    - EXPECT_TRUE
    linkageType: ''
    returnType: Message
    signature: Message Parse(const char* text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' value'
    - prefix
    - size
    argTypes:
    - std::string
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: espv2::api_proxy::service_control::StartsWith
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 20
    functionsReached:
    - compare
    linkageType: ''
    returnType: bool
    signature: bool StartsWith(const std::string& value, const char* prefix, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ld'
    argTypes:
    - LabelDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::IsLabelSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 4
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - key
    linkageType: ''
    returnType: bool
    signature: bool IsLabelSupported(const LabelDescriptor& ld)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' md'
    argTypes:
    - MetricDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: espv2::api_proxy::service_control::IsMetricSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 4
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - name
    linkageType: ''
    returnType: bool
    signature: bool IsMetricSupported(const MetricDescriptor& md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::TextFormat::Parser::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:46,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: espv2::api_proxy::service_control::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 24
    functionsReached:
    - ::google::protobuf::TextFormat::Parser::Parse
    - EXPECT_TRUE
    linkageType: ''
    returnType: Message
    signature: Message Parse(const char* text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' value'
    - prefix
    - size
    argTypes:
    - std::string
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: espv2::api_proxy::service_control::StartsWith
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 22
    functionsReached:
    - compare
    linkageType: ''
    returnType: bool
    signature: bool StartsWith(const std::string& value, const char* prefix, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ld'
    argTypes:
    - LabelDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::IsLabelSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 4
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - key
    linkageType: ''
    returnType: bool
    signature: bool IsLabelSupported(const LabelDescriptor& ld)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' md'
    argTypes:
    - MetricDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: espv2::api_proxy::service_control::IsMetricSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 4
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - name
    linkageType: ''
    returnType: bool
    signature: bool IsMetricSupported(const MetricDescriptor& md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:73,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:73,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:74,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - ASSERT_FALSE
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoaderTest, StartsWith)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:80,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:81,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:81,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:83,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:83,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:84,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:85,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:85,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:86,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:87,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:87,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:88,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:89,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:89,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:93,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:93,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:94,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:95,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:95,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:96,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:97,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:97,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:98,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:99,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:99,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:100,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:101,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 102
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_FALSE
    - espv2::api_proxy::service_control::IsMetricSupported
    - MetricDescriptor::set_name
    - espv2::api_proxy::service_control::IsLabelSupported
    - LabelDescriptor::set_key
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoaderTest, IsSupported)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:110,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:111,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:114,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:115,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:115,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:115,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:120,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:121,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:124,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:125,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 127
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - LabelMap::empty
    - Pair
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - RepeatedPtrField::Add
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddDuplicateLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:146,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:150,1
    - Dst: LabelDescriptor::set_value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:151,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:153,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:153,1
    - Dst: LogDescriptor::labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:153,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:156,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:157,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:158,1
    - Dst: Property
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:158,1
    - Dst: Eq
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 160
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - LabelDescriptor::set_key
    - Pair
    - ASSERT_FALSE
    - Property
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    - Eq
    - LabelDescriptor::set_value_type
    - LogDescriptor::labels
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddConflictingLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:165,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:166,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:170,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:170,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:171,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:171,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - Pair
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - RepeatedPtrField::Add
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddUnsupportedLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:178,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:181,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:184,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:184,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:185,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:185,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - Pair
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - RepeatedPtrField::Add
    - LabelDescriptor::set_key
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddRedundantLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:194,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:194,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:195,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - LabelMap::empty
    - LogsMetricsLoader::AddLabels
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddNoLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:219,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:225,1
    - Dst: LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:225,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:225,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:226,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:226,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:226,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:230,1
    - Dst: LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:230,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:230,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:231,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:231,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:231,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:237,1
    - Dst: LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:237,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:237,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:238,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 240
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - LabelMap::empty
    - Pair
    - ASSERT_FALSE
    - ASSERT_THAT
    - Service::logs
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    - LogsMetricsLoader::AddLogLabels
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddLogLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:264,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:271,1
    - Dst: LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:271,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:272,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:275,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:275,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:275,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:279,1
    - Dst: LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:279,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:280,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:283,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:283,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:283,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:289,1
    - Dst: LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:289,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:290,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:293,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 295
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - LogsMetricsLoader::AddMonitoredResourceLabels
    - ASSERT_TRUE
    - Service::monitored_resources
    - LabelMap::empty
    - Pair
    - ASSERT_FALSE
    - ASSERT_THAT
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddMonitoredResourceLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:345,1
    - Dst: LogsMetricsLoader::AddLoggingDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:351,1
    - Dst: Service::logging
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:352,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:352,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:353,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:354,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:354,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:357,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:357,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:361,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:362,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:362,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 364
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - Service::monitored_resources
    - LogsMetricsLoader::AddLoggingDestinations
    - Pair
    - Service::logging
    - ASSERT_THAT
    - Status::ok
    - Service::logs
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddLoggingDestinations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:429,1
    - Dst: LogsMetricsLoader::AddMonitoringDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:434,1
    - Dst: Service::monitoring
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:435,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:436,1
    - Dst: Service::metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:436,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:437,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:437,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:440,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:441,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:441,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:445,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:445,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:446,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 448
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - Service::metrics
    - ASSERT_TRUE
    - Service::monitored_resources
    - Pair
    - Service::monitoring
    - ASSERT_THAT
    - Status::ok
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    - LogsMetricsLoader::AddMonitoringDestinations
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddMonitoringDestinations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:530,1
    - Dst: LogsMetricsLoader::LoadLogsMetrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:534,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:535,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:535,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:537,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:537,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:538,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:539,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:542,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 551
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - LogsMetricsLoader::LoadLogsMetrics
    - ASSERT_THAT
    - Status::ok
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, LoadLogsMetrics)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::TextFormat::Parser::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:46,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: espv2::api_proxy::service_control::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 30
    functionsReached:
    - ::google::protobuf::TextFormat::Parser::Parse
    - EXPECT_TRUE
    linkageType: ''
    returnType: Message
    signature: Message Parse(const char* text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' value'
    - prefix
    - size
    argTypes:
    - std::string
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: espv2::api_proxy::service_control::StartsWith
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 25
    functionsReached:
    - compare
    linkageType: ''
    returnType: bool
    signature: bool StartsWith(const std::string& value, const char* prefix, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ld'
    argTypes:
    - LabelDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::IsLabelSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 5
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - key
    linkageType: ''
    returnType: bool
    signature: bool IsLabelSupported(const LabelDescriptor& ld)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' md'
    argTypes:
    - MetricDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: espv2::api_proxy::service_control::IsMetricSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 5
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - name
    linkageType: ''
    returnType: bool
    signature: bool IsMetricSupported(const MetricDescriptor& md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::TextFormat::Parser::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:46,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: espv2::api_proxy::service_control::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 30
    functionsReached:
    - ::google::protobuf::TextFormat::Parser::Parse
    - EXPECT_TRUE
    linkageType: ''
    returnType: Message
    signature: Message Parse(const char* text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' value'
    - prefix
    - size
    argTypes:
    - std::string
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: espv2::api_proxy::service_control::StartsWith
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 27
    functionsReached:
    - compare
    linkageType: ''
    returnType: bool
    signature: bool StartsWith(const std::string& value, const char* prefix, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ld'
    argTypes:
    - LabelDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::IsLabelSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 5
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - key
    linkageType: ''
    returnType: bool
    signature: bool IsLabelSupported(const LabelDescriptor& ld)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' md'
    argTypes:
    - MetricDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: espv2::api_proxy::service_control::IsMetricSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 5
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - name
    linkageType: ''
    returnType: bool
    signature: bool IsMetricSupported(const MetricDescriptor& md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:73,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:73,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:74,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - ASSERT_FALSE
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoaderTest, StartsWith)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:80,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:81,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:81,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:83,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:83,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:84,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:85,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:85,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:86,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:87,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:87,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:88,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:89,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:89,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:93,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:93,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:94,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:95,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:95,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:96,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:97,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:97,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:98,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:99,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:99,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:100,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:101,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 102
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_FALSE
    - espv2::api_proxy::service_control::IsMetricSupported
    - MetricDescriptor::set_name
    - espv2::api_proxy::service_control::IsLabelSupported
    - LabelDescriptor::set_key
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoaderTest, IsSupported)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:110,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:111,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:114,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:115,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:115,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:115,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:120,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:121,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:124,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:125,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 127
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - LabelMap::empty
    - Pair
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - RepeatedPtrField::Add
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddDuplicateLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:146,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:150,1
    - Dst: LabelDescriptor::set_value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:151,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:153,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:153,1
    - Dst: LogDescriptor::labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:153,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:156,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:157,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:158,1
    - Dst: Property
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:158,1
    - Dst: Eq
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 160
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - LabelDescriptor::set_key
    - Pair
    - ASSERT_FALSE
    - Property
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    - Eq
    - LabelDescriptor::set_value_type
    - LogDescriptor::labels
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddConflictingLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:165,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:166,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:170,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:170,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:171,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:171,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - Pair
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - RepeatedPtrField::Add
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddUnsupportedLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:178,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:181,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:184,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:184,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:185,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:185,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - Pair
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - RepeatedPtrField::Add
    - LabelDescriptor::set_key
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddRedundantLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:194,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:194,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:195,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - LabelMap::empty
    - LogsMetricsLoader::AddLabels
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddNoLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:219,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:225,1
    - Dst: LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:225,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:225,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:226,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:226,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:226,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:230,1
    - Dst: LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:230,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:230,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:231,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:231,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:231,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:237,1
    - Dst: LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:237,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:237,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:238,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 240
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - LabelMap::empty
    - Pair
    - ASSERT_FALSE
    - ASSERT_THAT
    - Service::logs
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    - LogsMetricsLoader::AddLogLabels
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddLogLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:264,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:271,1
    - Dst: LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:271,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:272,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:275,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:275,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:275,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:279,1
    - Dst: LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:279,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:280,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:283,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:283,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:283,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:289,1
    - Dst: LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:289,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:290,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:293,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 295
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - LogsMetricsLoader::AddMonitoredResourceLabels
    - ASSERT_TRUE
    - Service::monitored_resources
    - LabelMap::empty
    - Pair
    - ASSERT_FALSE
    - ASSERT_THAT
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddMonitoredResourceLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:345,1
    - Dst: LogsMetricsLoader::AddLoggingDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:351,1
    - Dst: Service::logging
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:352,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:352,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:353,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:354,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:354,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:357,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:357,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:361,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:362,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:362,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 364
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - Service::monitored_resources
    - LogsMetricsLoader::AddLoggingDestinations
    - Pair
    - Service::logging
    - ASSERT_THAT
    - Status::ok
    - Service::logs
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddLoggingDestinations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:429,1
    - Dst: LogsMetricsLoader::AddMonitoringDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:434,1
    - Dst: Service::monitoring
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:435,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:436,1
    - Dst: Service::metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:436,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:437,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:437,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:440,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:441,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:441,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:445,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:445,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:446,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 448
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - Service::metrics
    - ASSERT_TRUE
    - Service::monitored_resources
    - Pair
    - Service::monitoring
    - ASSERT_THAT
    - Status::ok
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    - LogsMetricsLoader::AddMonitoringDestinations
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddMonitoringDestinations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:530,1
    - Dst: LogsMetricsLoader::LoadLogsMetrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:534,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:535,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:535,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:537,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:537,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:538,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:539,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:542,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 551
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - LogsMetricsLoader::LoadLogsMetrics
    - ASSERT_THAT
    - Status::ok
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, LoadLogsMetrics)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::TextFormat::Parser::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:46,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: espv2::api_proxy::service_control::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 36
    functionsReached:
    - ::google::protobuf::TextFormat::Parser::Parse
    - EXPECT_TRUE
    linkageType: ''
    returnType: Message
    signature: Message Parse(const char* text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' value'
    - prefix
    - size
    argTypes:
    - std::string
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: espv2::api_proxy::service_control::StartsWith
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 30
    functionsReached:
    - compare
    linkageType: ''
    returnType: bool
    signature: bool StartsWith(const std::string& value, const char* prefix, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ld'
    argTypes:
    - LabelDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::IsLabelSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 6
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - key
    linkageType: ''
    returnType: bool
    signature: bool IsLabelSupported(const LabelDescriptor& ld)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' md'
    argTypes:
    - MetricDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: espv2::api_proxy::service_control::IsMetricSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 6
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - name
    linkageType: ''
    returnType: bool
    signature: bool IsMetricSupported(const MetricDescriptor& md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::TextFormat::Parser::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:46,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: espv2::api_proxy::service_control::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 36
    functionsReached:
    - ::google::protobuf::TextFormat::Parser::Parse
    - EXPECT_TRUE
    linkageType: ''
    returnType: Message
    signature: Message Parse(const char* text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' value'
    - prefix
    - size
    argTypes:
    - std::string
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: espv2::api_proxy::service_control::StartsWith
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 32
    functionsReached:
    - compare
    linkageType: ''
    returnType: bool
    signature: bool StartsWith(const std::string& value, const char* prefix, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ld'
    argTypes:
    - LabelDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::IsLabelSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 6
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - key
    linkageType: ''
    returnType: bool
    signature: bool IsLabelSupported(const LabelDescriptor& ld)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' md'
    argTypes:
    - MetricDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: espv2::api_proxy::service_control::IsMetricSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 6
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - name
    linkageType: ''
    returnType: bool
    signature: bool IsMetricSupported(const MetricDescriptor& md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:73,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:73,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:74,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - ASSERT_FALSE
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoaderTest, StartsWith)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:80,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:81,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:81,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:83,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:83,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:84,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:85,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:85,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:86,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:87,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:87,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:88,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:89,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:89,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:93,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:93,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:94,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:95,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:95,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:96,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:97,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:97,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:98,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:99,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:99,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:100,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:101,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 102
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_FALSE
    - espv2::api_proxy::service_control::IsMetricSupported
    - MetricDescriptor::set_name
    - espv2::api_proxy::service_control::IsLabelSupported
    - LabelDescriptor::set_key
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoaderTest, IsSupported)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:110,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:111,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:114,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:115,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:115,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:115,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:120,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:121,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:124,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:125,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 127
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - LabelMap::empty
    - Pair
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - RepeatedPtrField::Add
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddDuplicateLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:146,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:150,1
    - Dst: LabelDescriptor::set_value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:151,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:153,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:153,1
    - Dst: LogDescriptor::labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:153,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:156,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:157,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:158,1
    - Dst: Property
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:158,1
    - Dst: Eq
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 160
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - LabelDescriptor::set_key
    - Pair
    - ASSERT_FALSE
    - Property
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    - Eq
    - LabelDescriptor::set_value_type
    - LogDescriptor::labels
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddConflictingLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:165,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:166,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:170,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:170,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:171,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:171,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - Pair
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - RepeatedPtrField::Add
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddUnsupportedLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:178,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:181,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:184,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:184,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:185,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:185,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - Pair
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - RepeatedPtrField::Add
    - LabelDescriptor::set_key
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddRedundantLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:194,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:194,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:195,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - LabelMap::empty
    - LogsMetricsLoader::AddLabels
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddNoLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:219,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:225,1
    - Dst: LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:225,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:225,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:226,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:226,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:226,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:230,1
    - Dst: LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:230,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:230,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:231,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:231,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:231,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:237,1
    - Dst: LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:237,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:237,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:238,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 240
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - LabelMap::empty
    - Pair
    - ASSERT_FALSE
    - ASSERT_THAT
    - Service::logs
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    - LogsMetricsLoader::AddLogLabels
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddLogLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:264,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:271,1
    - Dst: LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:271,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:272,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:275,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:275,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:275,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:279,1
    - Dst: LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:279,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:280,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:283,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:283,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:283,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:289,1
    - Dst: LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:289,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:290,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:293,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 295
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - LogsMetricsLoader::AddMonitoredResourceLabels
    - ASSERT_TRUE
    - Service::monitored_resources
    - LabelMap::empty
    - Pair
    - ASSERT_FALSE
    - ASSERT_THAT
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddMonitoredResourceLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:345,1
    - Dst: LogsMetricsLoader::AddLoggingDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:351,1
    - Dst: Service::logging
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:352,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:352,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:353,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:354,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:354,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:357,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:357,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:361,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:362,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:362,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 364
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - Service::monitored_resources
    - LogsMetricsLoader::AddLoggingDestinations
    - Pair
    - Service::logging
    - ASSERT_THAT
    - Status::ok
    - Service::logs
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddLoggingDestinations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:429,1
    - Dst: LogsMetricsLoader::AddMonitoringDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:434,1
    - Dst: Service::monitoring
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:435,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:436,1
    - Dst: Service::metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:436,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:437,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:437,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:440,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:441,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:441,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:445,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:445,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:446,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 448
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - Service::metrics
    - ASSERT_TRUE
    - Service::monitored_resources
    - Pair
    - Service::monitoring
    - ASSERT_THAT
    - Status::ok
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    - LogsMetricsLoader::AddMonitoringDestinations
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddMonitoringDestinations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:530,1
    - Dst: LogsMetricsLoader::LoadLogsMetrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:534,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:535,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:535,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:537,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:537,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:538,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:539,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:542,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 551
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - LogsMetricsLoader::LoadLogsMetrics
    - ASSERT_THAT
    - Status::ok
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, LoadLogsMetrics)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::TextFormat::Parser::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:46,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: espv2::api_proxy::service_control::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 42
    functionsReached:
    - ::google::protobuf::TextFormat::Parser::Parse
    - EXPECT_TRUE
    linkageType: ''
    returnType: Message
    signature: Message Parse(const char* text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' value'
    - prefix
    - size
    argTypes:
    - std::string
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: espv2::api_proxy::service_control::StartsWith
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 35
    functionsReached:
    - compare
    linkageType: ''
    returnType: bool
    signature: bool StartsWith(const std::string& value, const char* prefix, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ld'
    argTypes:
    - LabelDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::IsLabelSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 7
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - key
    linkageType: ''
    returnType: bool
    signature: bool IsLabelSupported(const LabelDescriptor& ld)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' md'
    argTypes:
    - MetricDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: espv2::api_proxy::service_control::IsMetricSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 7
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - name
    linkageType: ''
    returnType: bool
    signature: bool IsMetricSupported(const MetricDescriptor& md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::TextFormat::Parser::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:46,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: espv2::api_proxy::service_control::Parse
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 42
    functionsReached:
    - ::google::protobuf::TextFormat::Parser::Parse
    - EXPECT_TRUE
    linkageType: ''
    returnType: Message
    signature: Message Parse(const char* text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' value'
    - prefix
    - size
    argTypes:
    - std::string
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: espv2::api_proxy::service_control::StartsWith
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 37
    functionsReached:
    - compare
    linkageType: ''
    returnType: bool
    signature: bool StartsWith(const std::string& value, const char* prefix, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    - Dst: key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' ld'
    argTypes:
    - LabelDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: espv2::api_proxy::service_control::IsLabelSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 7
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - key
    linkageType: ''
    returnType: bool
    signature: bool IsLabelSupported(const LabelDescriptor& ld)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    - Dst: name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' md'
    argTypes:
    - MetricDescriptor
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: espv2::api_proxy::service_control::IsMetricSupported
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 7
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - name
    linkageType: ''
    returnType: bool
    signature: bool IsMetricSupported(const MetricDescriptor& md)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:73,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:73,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:74,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    - ASSERT_FALSE
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoaderTest, StartsWith)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:80,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:81,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:81,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:82,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:83,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:83,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:84,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:85,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:85,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:86,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:87,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:87,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:88,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:89,1
    - Dst: espv2::api_proxy::service_control::IsLabelSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:89,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:93,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:93,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:94,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:95,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:95,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:96,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:97,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:97,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:98,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:99,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:99,1
    - Dst: MetricDescriptor::set_name
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:100,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:101,1
    - Dst: espv2::api_proxy::service_control::IsMetricSupported
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 102
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - ASSERT_FALSE
    - espv2::api_proxy::service_control::IsMetricSupported
    - MetricDescriptor::set_name
    - espv2::api_proxy::service_control::IsLabelSupported
    - LabelDescriptor::set_key
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoaderTest, IsSupported)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:110,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:111,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:114,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:114,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:115,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:115,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:115,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:120,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:121,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:124,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:124,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:125,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 127
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - LabelMap::empty
    - Pair
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - RepeatedPtrField::Add
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddDuplicateLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:146,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:150,1
    - Dst: LabelDescriptor::set_value_type
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:151,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:153,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:153,1
    - Dst: LogDescriptor::labels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:153,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:156,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:157,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:158,1
    - Dst: Property
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:158,1
    - Dst: Eq
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 160
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - LabelDescriptor::set_key
    - Pair
    - ASSERT_FALSE
    - Property
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    - Eq
    - LabelDescriptor::set_value_type
    - LogDescriptor::labels
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddConflictingLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:165,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:166,1
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:167,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:170,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:170,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:171,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:171,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - Pair
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - RepeatedPtrField::Add
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddUnsupportedLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RepeatedPtrField::Add
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:178,1
    - Dst: LabelDescriptor::set_key
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:181,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:184,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:184,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:185,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:185,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - Pair
    - LogsMetricsLoader::AddLabels
    - ASSERT_THAT
    - UnorderedElementsAre
    - RepeatedPtrField::Add
    - LabelDescriptor::set_key
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddRedundantLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:194,1
    - Dst: LogsMetricsLoader::AddLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:194,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:195,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_TRUE
    - LabelMap::empty
    - LogsMetricsLoader::AddLabels
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddNoLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:219,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:225,1
    - Dst: LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:225,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:225,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:226,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:226,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:226,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:230,1
    - Dst: LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:230,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:230,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:231,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:231,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:231,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:237,1
    - Dst: LogsMetricsLoader::AddLogLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:237,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:237,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:238,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 240
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - LabelMap::empty
    - Pair
    - ASSERT_FALSE
    - ASSERT_THAT
    - Service::logs
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    - LogsMetricsLoader::AddLogLabels
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddLogLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:264,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:271,1
    - Dst: LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:271,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:272,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:275,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:275,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:275,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:279,1
    - Dst: LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:279,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:280,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:283,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:283,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:283,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:289,1
    - Dst: LogsMetricsLoader::AddMonitoredResourceLabels
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:289,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:290,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:293,1
    - Dst: LabelMap::empty
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 295
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - LogsMetricsLoader::AddMonitoredResourceLabels
    - ASSERT_TRUE
    - Service::monitored_resources
    - LabelMap::empty
    - Pair
    - ASSERT_FALSE
    - ASSERT_THAT
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddMonitoredResourceLabels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:345,1
    - Dst: LogsMetricsLoader::AddLoggingDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:351,1
    - Dst: Service::logging
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:352,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:352,1
    - Dst: Service::logs
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:353,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:354,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:354,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:357,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:357,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:361,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:362,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:362,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 364
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - Service::monitored_resources
    - LogsMetricsLoader::AddLoggingDestinations
    - Pair
    - Service::logging
    - ASSERT_THAT
    - Status::ok
    - Service::logs
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddLoggingDestinations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:429,1
    - Dst: LogsMetricsLoader::AddMonitoringDestinations
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:434,1
    - Dst: Service::monitoring
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:435,1
    - Dst: Service::monitored_resources
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:436,1
    - Dst: Service::metrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:436,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:437,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:437,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:440,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:441,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:441,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:445,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:445,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:446,1
    - Dst: Pair
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 448
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - Service::metrics
    - ASSERT_TRUE
    - Service::monitored_resources
    - Pair
    - Service::monitoring
    - ASSERT_THAT
    - Status::ok
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    - LogsMetricsLoader::AddMonitoringDestinations
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, AddMonitoringDestinations)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::Parse
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:530,1
    - Dst: LogsMetricsLoader::LoadLogsMetrics
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:534,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:535,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:535,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:537,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:537,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:538,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:539,1
    - Dst: ASSERT_THAT
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:542,1
    - Dst: UnorderedElementsAre
      Src: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 551
    functionName: espv2::api_proxy::service_control::TEST
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - LogsMetricsLoader::LoadLogsMetrics
    - ASSERT_THAT
    - Status::ok
    - UnorderedElementsAre
    - espv2::api_proxy::service_control::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(LogsMetricsLoader, LoadLogsMetrics)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - Protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: espv2::api_proxy::service_control::protocol::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(Protocol p)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - Protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: espv2::api_proxy::service_control::protocol::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(Protocol p)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - ApiKeyState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: espv2::api_proxy::service_control::api_key::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(ApiKeyState state)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - ApiKeyState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: espv2::api_proxy::service_control::api_key::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(ApiKeyState state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: espv2::api_proxy::service_control::LatencyInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LatencyInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: espv2::api_proxy::service_control::OperationInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperationInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _name
    - _is_network_error
    - _type
    argTypes:
    - std::string
    - bool
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: espv2::api_proxy::service_control::ScResponseError
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ScResponseError(std::string _name, bool _is_network_error,\n
      \                 ScResponseErrorType _type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: espv2::api_proxy::service_control::ScResponseError
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScResponseError()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: espv2::api_proxy::service_control::CheckResponseInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckResponseInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' metric_costs'
    argTypes:
    - std::vector<std::pair<std::string, int>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: espv2::api_proxy::service_control::QuotaRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QuotaRequestInfo(const std::vector<std::pair<std::string, int>>&
      metric_costs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: espv2::api_proxy::service_control::QuotaResponseInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QuotaResponseInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: espv2::api_proxy::service_control::ReportRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReportRequestInfo()
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - Protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: espv2::api_proxy::service_control::protocol::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(Protocol p)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - Protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: espv2::api_proxy::service_control::protocol::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(Protocol p)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - ApiKeyState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: espv2::api_proxy::service_control::api_key::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(ApiKeyState state)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - ApiKeyState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: espv2::api_proxy::service_control::api_key::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(ApiKeyState state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: espv2::api_proxy::service_control::LatencyInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LatencyInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: espv2::api_proxy::service_control::OperationInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperationInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _name
    - _is_network_error
    - _type
    argTypes:
    - std::string
    - bool
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: espv2::api_proxy::service_control::ScResponseError
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ScResponseError(std::string _name, bool _is_network_error,\n
      \                 ScResponseErrorType _type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: espv2::api_proxy::service_control::ScResponseError
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScResponseError()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: espv2::api_proxy::service_control::CheckResponseInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckResponseInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' metric_costs'
    argTypes:
    - std::vector<std::pair<std::string, int>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: espv2::api_proxy::service_control::QuotaRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QuotaRequestInfo(const std::vector<std::pair<std::string, int>>&
      metric_costs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: espv2::api_proxy::service_control::QuotaResponseInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QuotaResponseInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: espv2::api_proxy::service_control::ReportRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReportRequestInfo()
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - Protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: espv2::api_proxy::service_control::protocol::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(Protocol p)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - Protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: espv2::api_proxy::service_control::protocol::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(Protocol p)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - ApiKeyState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: espv2::api_proxy::service_control::api_key::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(ApiKeyState state)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - ApiKeyState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: espv2::api_proxy::service_control::api_key::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(ApiKeyState state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: espv2::api_proxy::service_control::LatencyInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LatencyInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: espv2::api_proxy::service_control::OperationInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperationInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _name
    - _is_network_error
    - _type
    argTypes:
    - std::string
    - bool
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: espv2::api_proxy::service_control::ScResponseError
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ScResponseError(std::string _name, bool _is_network_error,\n
      \                 ScResponseErrorType _type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: espv2::api_proxy::service_control::ScResponseError
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScResponseError()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: espv2::api_proxy::service_control::CheckResponseInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckResponseInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' metric_costs'
    argTypes:
    - std::vector<std::pair<std::string, int>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: espv2::api_proxy::service_control::QuotaRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QuotaRequestInfo(const std::vector<std::pair<std::string, int>>&
      metric_costs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: espv2::api_proxy::service_control::QuotaResponseInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QuotaResponseInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: espv2::api_proxy::service_control::ReportRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReportRequestInfo()
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - Protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: espv2::api_proxy::service_control::protocol::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(Protocol p)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - Protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: espv2::api_proxy::service_control::protocol::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(Protocol p)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - ApiKeyState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: espv2::api_proxy::service_control::api_key::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(ApiKeyState state)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - ApiKeyState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: espv2::api_proxy::service_control::api_key::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(ApiKeyState state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: espv2::api_proxy::service_control::LatencyInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LatencyInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: espv2::api_proxy::service_control::OperationInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperationInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _name
    - _is_network_error
    - _type
    argTypes:
    - std::string
    - bool
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: espv2::api_proxy::service_control::ScResponseError
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ScResponseError(std::string _name, bool _is_network_error,\n
      \                 ScResponseErrorType _type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: espv2::api_proxy::service_control::ScResponseError
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScResponseError()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: espv2::api_proxy::service_control::CheckResponseInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckResponseInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' metric_costs'
    argTypes:
    - std::vector<std::pair<std::string, int>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: espv2::api_proxy::service_control::QuotaRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QuotaRequestInfo(const std::vector<std::pair<std::string, int>>&
      metric_costs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: espv2::api_proxy::service_control::QuotaResponseInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QuotaResponseInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: espv2::api_proxy::service_control::ReportRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReportRequestInfo()
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - Protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: espv2::api_proxy::service_control::protocol::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(Protocol p)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - Protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: espv2::api_proxy::service_control::protocol::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(Protocol p)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - ApiKeyState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: espv2::api_proxy::service_control::api_key::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(ApiKeyState state)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - ApiKeyState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: espv2::api_proxy::service_control::api_key::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(ApiKeyState state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: espv2::api_proxy::service_control::LatencyInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LatencyInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: espv2::api_proxy::service_control::OperationInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperationInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _name
    - _is_network_error
    - _type
    argTypes:
    - std::string
    - bool
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: espv2::api_proxy::service_control::ScResponseError
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ScResponseError(std::string _name, bool _is_network_error,\n
      \                 ScResponseErrorType _type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: espv2::api_proxy::service_control::ScResponseError
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScResponseError()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: espv2::api_proxy::service_control::CheckResponseInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckResponseInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' metric_costs'
    argTypes:
    - std::vector<std::pair<std::string, int>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: espv2::api_proxy::service_control::QuotaRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QuotaRequestInfo(const std::vector<std::pair<std::string, int>>&
      metric_costs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: espv2::api_proxy::service_control::QuotaResponseInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QuotaResponseInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: espv2::api_proxy::service_control::ReportRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReportRequestInfo()
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - Protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: espv2::api_proxy::service_control::protocol::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(Protocol p)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - Protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: espv2::api_proxy::service_control::protocol::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(Protocol p)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - ApiKeyState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: espv2::api_proxy::service_control::api_key::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(ApiKeyState state)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - ApiKeyState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: espv2::api_proxy::service_control::api_key::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(ApiKeyState state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: espv2::api_proxy::service_control::LatencyInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LatencyInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: espv2::api_proxy::service_control::OperationInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperationInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _name
    - _is_network_error
    - _type
    argTypes:
    - std::string
    - bool
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: espv2::api_proxy::service_control::ScResponseError
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ScResponseError(std::string _name, bool _is_network_error,\n
      \                 ScResponseErrorType _type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: espv2::api_proxy::service_control::ScResponseError
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScResponseError()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: espv2::api_proxy::service_control::CheckResponseInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckResponseInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' metric_costs'
    argTypes:
    - std::vector<std::pair<std::string, int>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: espv2::api_proxy::service_control::QuotaRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QuotaRequestInfo(const std::vector<std::pair<std::string, int>>&
      metric_costs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: espv2::api_proxy::service_control::QuotaResponseInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QuotaResponseInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: espv2::api_proxy::service_control::ReportRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReportRequestInfo()
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - Protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: espv2::api_proxy::service_control::protocol::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(Protocol p)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - Protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: espv2::api_proxy::service_control::protocol::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(Protocol p)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - ApiKeyState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: espv2::api_proxy::service_control::api_key::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(ApiKeyState state)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - ApiKeyState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: espv2::api_proxy::service_control::api_key::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(ApiKeyState state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: espv2::api_proxy::service_control::LatencyInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LatencyInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: espv2::api_proxy::service_control::OperationInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperationInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _name
    - _is_network_error
    - _type
    argTypes:
    - std::string
    - bool
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: espv2::api_proxy::service_control::ScResponseError
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ScResponseError(std::string _name, bool _is_network_error,\n
      \                 ScResponseErrorType _type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: espv2::api_proxy::service_control::ScResponseError
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScResponseError()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: espv2::api_proxy::service_control::CheckResponseInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckResponseInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' metric_costs'
    argTypes:
    - std::vector<std::pair<std::string, int>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: espv2::api_proxy::service_control::QuotaRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QuotaRequestInfo(const std::vector<std::pair<std::string, int>>&
      metric_costs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: espv2::api_proxy::service_control::QuotaResponseInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QuotaResponseInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: espv2::api_proxy::service_control::ReportRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReportRequestInfo()
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - Protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: espv2::api_proxy::service_control::protocol::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(Protocol p)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - p
    argTypes:
    - Protocol
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: espv2::api_proxy::service_control::protocol::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(Protocol p)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - ApiKeyState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: espv2::api_proxy::service_control::api_key::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(ApiKeyState state)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - ApiKeyState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: espv2::api_proxy::service_control::api_key::ToString
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ToString(ApiKeyState state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: espv2::api_proxy::service_control::LatencyInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LatencyInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: espv2::api_proxy::service_control::OperationInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OperationInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - _name
    - _is_network_error
    - _type
    argTypes:
    - std::string
    - bool
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: espv2::api_proxy::service_control::ScResponseError
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ScResponseError(std::string _name, bool _is_network_error,\n
      \                 ScResponseErrorType _type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: espv2::api_proxy::service_control::ScResponseError
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScResponseError()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: espv2::api_proxy::service_control::CheckResponseInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CheckResponseInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' metric_costs'
    argTypes:
    - std::vector<std::pair<std::string, int>>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: espv2::api_proxy::service_control::QuotaRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QuotaRequestInfo(const std::vector<std::pair<std::string, int>>&
      metric_costs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: espv2::api_proxy::service_control::QuotaResponseInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QuotaResponseInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: espv2::api_proxy::service_control::ReportRequestInfo
    functionSourceFile: /src/esp-v2/src/api_proxy/service_control/request_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ReportRequestInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:38,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:40,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:41,1
    - Dst: std::make_unique<NiceMock<MockConfigParser>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:43,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:44,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - std::move
    - rootScope
    - auto::get
    - std::make_unique<Filter>
    - std::make_shared<FilterConfig>
    - std::make_unique<NiceMock<MockConfigParser>>
    - std::make_shared<PerRouteFilterConfig>
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:64,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:65,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:75,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:79,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:87,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:93,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:98,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:103,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - absl::StrCat
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, DecodeHeadersOverflowWildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:113,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:114,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:125,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:129,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, FragmentPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoRouteRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:151,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:164,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 167
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NotPerRouteConfigNotChanged)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:173,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:179,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:184,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:185,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:202,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 206
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - url_template
    - sendLocalReply
    - Return
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, RejectedByMismatchUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:212,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:218,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:234,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, PathUpdated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:38,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:40,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:41,1
    - Dst: std::make_unique<NiceMock<MockConfigParser>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:43,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:44,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - std::move
    - rootScope
    - auto::get
    - std::make_unique<Filter>
    - std::make_shared<FilterConfig>
    - std::make_unique<NiceMock<MockConfigParser>>
    - std::make_shared<PerRouteFilterConfig>
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:64,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:65,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:75,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:79,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:87,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:93,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:98,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:103,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - absl::StrCat
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, DecodeHeadersOverflowWildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:113,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:114,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:125,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:129,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, FragmentPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoRouteRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:151,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:164,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 167
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NotPerRouteConfigNotChanged)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:173,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:179,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:184,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:185,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:202,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 206
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - url_template
    - sendLocalReply
    - Return
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, RejectedByMismatchUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:212,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:218,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:234,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, PathUpdated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:38,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:40,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:41,1
    - Dst: std::make_unique<NiceMock<MockConfigParser>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:43,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:44,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - std::move
    - rootScope
    - auto::get
    - std::make_unique<Filter>
    - std::make_shared<FilterConfig>
    - std::make_unique<NiceMock<MockConfigParser>>
    - std::make_shared<PerRouteFilterConfig>
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:64,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:65,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:75,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:79,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:87,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:93,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:98,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:103,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - absl::StrCat
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, DecodeHeadersOverflowWildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:113,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:114,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:125,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:129,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, FragmentPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoRouteRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:151,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:164,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 167
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NotPerRouteConfigNotChanged)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:173,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:179,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:184,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:185,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:202,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 206
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - url_template
    - sendLocalReply
    - Return
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, RejectedByMismatchUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:212,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:218,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:234,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, PathUpdated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:38,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:40,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:41,1
    - Dst: std::make_unique<NiceMock<MockConfigParser>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:43,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:44,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - std::move
    - rootScope
    - auto::get
    - std::make_unique<Filter>
    - std::make_shared<FilterConfig>
    - std::make_unique<NiceMock<MockConfigParser>>
    - std::make_shared<PerRouteFilterConfig>
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:64,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:65,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:75,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:79,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:87,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:93,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:98,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:103,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - absl::StrCat
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, DecodeHeadersOverflowWildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:113,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:114,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:125,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:129,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, FragmentPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoRouteRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:151,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:164,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 167
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NotPerRouteConfigNotChanged)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:173,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:179,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:184,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:185,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:202,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 206
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - url_template
    - sendLocalReply
    - Return
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, RejectedByMismatchUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:212,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:218,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:234,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, PathUpdated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:38,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:40,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:41,1
    - Dst: std::make_unique<NiceMock<MockConfigParser>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:43,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:44,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - std::move
    - rootScope
    - auto::get
    - std::make_unique<Filter>
    - std::make_shared<FilterConfig>
    - std::make_unique<NiceMock<MockConfigParser>>
    - std::make_shared<PerRouteFilterConfig>
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:64,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:65,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:75,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:79,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:87,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:93,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:98,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:103,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - absl::StrCat
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, DecodeHeadersOverflowWildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:113,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:114,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:125,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:129,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, FragmentPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoRouteRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:151,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:164,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 167
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NotPerRouteConfigNotChanged)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:173,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:179,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:184,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:185,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:202,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 206
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - url_template
    - sendLocalReply
    - Return
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, RejectedByMismatchUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:212,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:218,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:234,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, PathUpdated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:38,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:40,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:41,1
    - Dst: std::make_unique<NiceMock<MockConfigParser>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:43,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:44,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - std::move
    - rootScope
    - auto::get
    - std::make_unique<Filter>
    - std::make_shared<FilterConfig>
    - std::make_unique<NiceMock<MockConfigParser>>
    - std::make_shared<PerRouteFilterConfig>
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:64,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:65,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:75,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:79,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:87,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:93,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:98,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:103,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - absl::StrCat
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, DecodeHeadersOverflowWildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:113,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:114,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:125,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:129,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, FragmentPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoRouteRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:151,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:164,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 167
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NotPerRouteConfigNotChanged)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:173,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:179,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:184,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:185,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:202,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 206
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - url_template
    - sendLocalReply
    - Return
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, RejectedByMismatchUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:212,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:218,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:234,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, PathUpdated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:38,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:40,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:41,1
    - Dst: std::make_unique<NiceMock<MockConfigParser>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:43,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:44,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - std::move
    - rootScope
    - auto::get
    - std::make_unique<Filter>
    - std::make_shared<FilterConfig>
    - std::make_unique<NiceMock<MockConfigParser>>
    - std::make_shared<PerRouteFilterConfig>
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:64,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:65,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:75,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:79,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:87,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:93,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:98,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:103,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - absl::StrCat
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, DecodeHeadersOverflowWildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:113,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:114,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:125,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:129,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, FragmentPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoRouteRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:151,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:164,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 167
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NotPerRouteConfigNotChanged)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:173,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:179,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:184,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:185,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:202,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 206
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - url_template
    - sendLocalReply
    - Return
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, RejectedByMismatchUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:212,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:218,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:234,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, PathUpdated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:38,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:40,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:41,1
    - Dst: std::make_unique<NiceMock<MockConfigParser>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:43,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:44,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - std::move
    - rootScope
    - auto::get
    - std::make_unique<Filter>
    - std::make_shared<FilterConfig>
    - std::make_unique<NiceMock<MockConfigParser>>
    - std::make_shared<PerRouteFilterConfig>
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:64,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:65,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:75,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:79,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:87,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:93,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:98,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:103,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - absl::StrCat
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, DecodeHeadersOverflowWildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:113,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:114,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:125,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:129,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, FragmentPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoRouteRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:151,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:164,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 167
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NotPerRouteConfigNotChanged)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:173,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:179,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:184,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:185,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:202,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 206
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - url_template
    - sendLocalReply
    - Return
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, RejectedByMismatchUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:212,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:218,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:234,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, PathUpdated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:38,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:40,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:41,1
    - Dst: std::make_unique<NiceMock<MockConfigParser>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:43,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:44,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - std::move
    - rootScope
    - auto::get
    - std::make_unique<Filter>
    - std::make_shared<FilterConfig>
    - std::make_unique<NiceMock<MockConfigParser>>
    - std::make_shared<PerRouteFilterConfig>
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:64,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:65,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:75,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:79,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:87,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:93,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:98,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:103,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - absl::StrCat
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, DecodeHeadersOverflowWildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:113,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:114,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:125,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:129,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, FragmentPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoRouteRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:151,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:164,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 167
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NotPerRouteConfigNotChanged)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:173,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:179,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:184,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:185,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:202,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 206
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - url_template
    - sendLocalReply
    - Return
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, RejectedByMismatchUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:212,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:218,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:234,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, PathUpdated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:38,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:40,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:41,1
    - Dst: std::make_unique<NiceMock<MockConfigParser>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:43,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:44,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - std::move
    - rootScope
    - auto::get
    - std::make_unique<Filter>
    - std::make_shared<FilterConfig>
    - std::make_unique<NiceMock<MockConfigParser>>
    - std::make_shared<PerRouteFilterConfig>
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:64,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:65,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:75,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:79,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:87,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:93,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:98,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:103,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - absl::StrCat
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, DecodeHeadersOverflowWildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:113,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:114,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:125,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:129,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, FragmentPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoRouteRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:151,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:164,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 167
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NotPerRouteConfigNotChanged)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:173,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:179,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:184,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:185,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:202,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 206
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - url_template
    - sendLocalReply
    - Return
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, RejectedByMismatchUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:212,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:218,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:234,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, PathUpdated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:38,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:40,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:41,1
    - Dst: std::make_unique<NiceMock<MockConfigParser>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:43,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:44,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - std::move
    - rootScope
    - auto::get
    - std::make_unique<Filter>
    - std::make_shared<FilterConfig>
    - std::make_unique<NiceMock<MockConfigParser>>
    - std::make_shared<PerRouteFilterConfig>
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:64,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:65,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:75,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:79,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:87,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:93,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:98,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:103,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - absl::StrCat
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, DecodeHeadersOverflowWildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:113,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:114,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:125,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:129,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, FragmentPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoRouteRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:151,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:164,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 167
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NotPerRouteConfigNotChanged)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:173,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:179,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:184,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:185,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:202,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 206
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - url_template
    - sendLocalReply
    - Return
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, RejectedByMismatchUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:212,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:218,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:234,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, PathUpdated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:38,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:40,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:41,1
    - Dst: std::make_unique<NiceMock<MockConfigParser>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:43,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:44,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - std::move
    - rootScope
    - auto::get
    - std::make_unique<Filter>
    - std::make_shared<FilterConfig>
    - std::make_unique<NiceMock<MockConfigParser>>
    - std::make_shared<PerRouteFilterConfig>
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:64,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:65,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:75,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:79,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:87,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:93,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:98,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:103,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - absl::StrCat
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, DecodeHeadersOverflowWildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:113,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:114,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:125,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:129,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, FragmentPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoRouteRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:151,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:164,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 167
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NotPerRouteConfigNotChanged)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:173,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:179,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:184,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:185,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:202,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 206
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - url_template
    - sendLocalReply
    - Return
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, RejectedByMismatchUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:212,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:218,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:234,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, PathUpdated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:38,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:40,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:41,1
    - Dst: std::make_unique<NiceMock<MockConfigParser>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:43,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:44,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - std::move
    - rootScope
    - auto::get
    - std::make_unique<Filter>
    - std::make_shared<FilterConfig>
    - std::make_unique<NiceMock<MockConfigParser>>
    - std::make_shared<PerRouteFilterConfig>
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:64,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:65,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:75,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:79,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:87,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:93,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:98,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:103,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - absl::StrCat
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, DecodeHeadersOverflowWildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:113,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:114,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:125,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:129,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, FragmentPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoRouteRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:151,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:164,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 167
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NotPerRouteConfigNotChanged)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:173,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:179,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:184,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:185,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:202,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 206
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - url_template
    - sendLocalReply
    - Return
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, RejectedByMismatchUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:212,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:218,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:234,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, PathUpdated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:38,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:40,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:41,1
    - Dst: std::make_unique<NiceMock<MockConfigParser>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:43,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:44,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - std::move
    - rootScope
    - auto::get
    - std::make_unique<Filter>
    - std::make_shared<FilterConfig>
    - std::make_unique<NiceMock<MockConfigParser>>
    - std::make_shared<PerRouteFilterConfig>
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:64,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:65,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:75,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:79,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:87,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:93,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:98,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:103,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - absl::StrCat
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, DecodeHeadersOverflowWildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:113,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:114,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:125,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:129,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, FragmentPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoRouteRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:151,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:164,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 167
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NotPerRouteConfigNotChanged)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:173,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:179,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:184,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:185,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:202,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 206
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - url_template
    - sendLocalReply
    - Return
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, RejectedByMismatchUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:212,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:218,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:234,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, PathUpdated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:38,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:40,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:41,1
    - Dst: std::make_unique<NiceMock<MockConfigParser>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:43,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:44,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - std::move
    - rootScope
    - auto::get
    - std::make_unique<Filter>
    - std::make_shared<FilterConfig>
    - std::make_unique<NiceMock<MockConfigParser>>
    - std::make_shared<PerRouteFilterConfig>
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:64,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:65,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:75,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:79,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:87,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:93,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:98,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:103,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - absl::StrCat
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, DecodeHeadersOverflowWildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:113,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:114,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:125,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:129,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, FragmentPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoRouteRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:151,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:164,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 167
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NotPerRouteConfigNotChanged)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:173,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:179,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:184,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:185,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:202,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 206
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - url_template
    - sendLocalReply
    - Return
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, RejectedByMismatchUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:212,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:218,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:234,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, PathUpdated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:37,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:38,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:40,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:41,1
    - Dst: std::make_unique<NiceMock<MockConfigParser>>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:43,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:44,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - std::move
    - rootScope
    - auto::get
    - std::make_unique<Filter>
    - std::make_shared<FilterConfig>
    - std::make_unique<NiceMock<MockConfigParser>>
    - std::make_shared<PerRouteFilterConfig>
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:64,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:65,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:73,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:74,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:75,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:79,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:80,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:87,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:93,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:98,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:103,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 107
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - absl::StrCat
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, DecodeHeadersOverflowWildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:113,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:114,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:123,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:124,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:125,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:129,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:131,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, FragmentPathHeaderBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:139,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NoRouteRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:148,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:151,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:154,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:156,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:159,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:160,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:164,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:165,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 167
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - decodeHeaders
    - EXPECT_CALL
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, NotPerRouteConfigNotChanged)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:172,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:173,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:174,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:178,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:179,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:184,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:185,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:197,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:198,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:202,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:204,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 206
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - url_template
    - sendLocalReply
    - Return
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, RejectedByMismatchUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:211,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:212,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:214,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:217,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:218,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:224,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:229,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:230,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:234,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:235,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - Envoy::TestUtility::findCounter
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - rewrite
    - Envoy::Http::TestRequestHeaderMapImpl::EnvoyOriginalPath
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - get
    - route
    - Envoy::Http::TestRequestHeaderMapImpl::Path
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterTest, PathUpdated)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:36,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:37,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:38,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:39,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:40,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Register"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Build"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:48,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:53,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:55,1
    - Dst: mutable_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:56,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:61,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:63,1
    - Dst: set_path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - "\n        config"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Build"
    - constant_path
    - size
    - path_prefix
    - path
    - has_constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Register"
    - mutable_constant_path
    - set_path_prefix
    - ENVOY_LOG
    - substr
    linkageType: ''
    returnType: void
    signature: "void ConfigParserImpl::ConfigParserImpl(\n    const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \       config)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:71,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - origin_path
    - ' new_path'
    argTypes:
    - absl::string_view
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - path_prefix
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    - absl::StrCat
    - has_constant_path
    - ENVOY_LOG
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::rewrite(absl::string_view origin_path,\n                               std::string&
      new_path) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:81,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 1
    functionsReached:
    - constant_path
    - has_constant_path
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ConfigParserImpl::url_template() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Lookup
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:96,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:99,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:100,1
    - Dst: std::vector::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:104,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:105,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' origin_path'
    - ' query'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - constant_path
    - std::vector::empty
    - ENVOY_LOG
    - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    - Lookup
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::getVariableBindings(const std::string& origin_path,\n
      \                                          std::string& query) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:115,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:119,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:120,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:122,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:125,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:127,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:129,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:135,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:136,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:137,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:139,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ' origin_path'
    - ' new_path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 1
    functionsReached:
    - constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    - path
    - absl::StrAppend
    - ENVOY_LOG
    - substr
    - std::string::empty
    - find
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::constPath(const std::string& origin_path,\n
      \                                std::string& new_path) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:36,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:37,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:38,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:39,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:40,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Register"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Build"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:48,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:53,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:55,1
    - Dst: mutable_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:56,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:61,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:63,1
    - Dst: set_path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - "\n        config"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Build"
    - constant_path
    - size
    - path_prefix
    - path
    - has_constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Register"
    - mutable_constant_path
    - set_path_prefix
    - ENVOY_LOG
    - substr
    linkageType: ''
    returnType: void
    signature: "void ConfigParserImpl::ConfigParserImpl(\n    const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \       config)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:71,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - origin_path
    - ' new_path'
    argTypes:
    - absl::string_view
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - path_prefix
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    - absl::StrCat
    - has_constant_path
    - ENVOY_LOG
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::rewrite(absl::string_view origin_path,\n                               std::string&
      new_path) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:81,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 2
    functionsReached:
    - constant_path
    - has_constant_path
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ConfigParserImpl::url_template() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Lookup
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:96,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:99,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:100,1
    - Dst: std::vector::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:104,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:105,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' origin_path'
    - ' query'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 1
    functionsReached:
    - constant_path
    - std::vector::empty
    - ENVOY_LOG
    - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    - Lookup
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::getVariableBindings(const std::string& origin_path,\n
      \                                          std::string& query) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:115,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:119,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:120,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:122,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:125,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:127,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:129,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:135,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:136,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:137,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:139,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ' origin_path'
    - ' new_path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 2
    functionsReached:
    - constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    - path
    - absl::StrAppend
    - ENVOY_LOG
    - substr
    - std::string::empty
    - find
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::constPath(const std::string& origin_path,\n
      \                                std::string& new_path) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:36,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:37,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:38,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:39,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:40,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Register"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Build"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:48,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:53,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:55,1
    - Dst: mutable_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:56,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:61,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:63,1
    - Dst: set_path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - "\n        config"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Build"
    - constant_path
    - size
    - path_prefix
    - path
    - has_constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Register"
    - mutable_constant_path
    - set_path_prefix
    - ENVOY_LOG
    - substr
    linkageType: ''
    returnType: void
    signature: "void ConfigParserImpl::ConfigParserImpl(\n    const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \       config)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:71,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - origin_path
    - ' new_path'
    argTypes:
    - absl::string_view
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - path_prefix
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    - absl::StrCat
    - has_constant_path
    - ENVOY_LOG
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::rewrite(absl::string_view origin_path,\n                               std::string&
      new_path) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:81,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 3
    functionsReached:
    - constant_path
    - has_constant_path
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ConfigParserImpl::url_template() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Lookup
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:96,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:99,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:100,1
    - Dst: std::vector::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:104,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:105,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' origin_path'
    - ' query'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 2
    functionsReached:
    - constant_path
    - std::vector::empty
    - ENVOY_LOG
    - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    - Lookup
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::getVariableBindings(const std::string& origin_path,\n
      \                                          std::string& query) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:115,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:119,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:120,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:122,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:125,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:127,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:129,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:135,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:136,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:137,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:139,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ' origin_path'
    - ' new_path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 3
    functionsReached:
    - constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    - path
    - absl::StrAppend
    - ENVOY_LOG
    - substr
    - std::string::empty
    - find
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::constPath(const std::string& origin_path,\n
      \                                std::string& new_path) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:36,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:37,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:38,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:39,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:40,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Register"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Build"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:48,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:53,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:55,1
    - Dst: mutable_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:56,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:61,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:63,1
    - Dst: set_path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - "\n        config"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Build"
    - constant_path
    - size
    - path_prefix
    - path
    - has_constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Register"
    - mutable_constant_path
    - set_path_prefix
    - ENVOY_LOG
    - substr
    linkageType: ''
    returnType: void
    signature: "void ConfigParserImpl::ConfigParserImpl(\n    const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \       config)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:71,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - origin_path
    - ' new_path'
    argTypes:
    - absl::string_view
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - path_prefix
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    - absl::StrCat
    - has_constant_path
    - ENVOY_LOG
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::rewrite(absl::string_view origin_path,\n                               std::string&
      new_path) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:81,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 4
    functionsReached:
    - constant_path
    - has_constant_path
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ConfigParserImpl::url_template() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Lookup
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:96,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:99,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:100,1
    - Dst: std::vector::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:104,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:105,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' origin_path'
    - ' query'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 3
    functionsReached:
    - constant_path
    - std::vector::empty
    - ENVOY_LOG
    - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    - Lookup
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::getVariableBindings(const std::string& origin_path,\n
      \                                          std::string& query) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:115,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:119,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:120,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:122,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:125,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:127,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:129,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:135,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:136,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:137,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:139,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ' origin_path'
    - ' new_path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 4
    functionsReached:
    - constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    - path
    - absl::StrAppend
    - ENVOY_LOG
    - substr
    - std::string::empty
    - find
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::constPath(const std::string& origin_path,\n
      \                                std::string& new_path) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:36,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:37,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:38,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:39,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:40,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Register"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Build"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:48,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:53,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:55,1
    - Dst: mutable_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:56,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:61,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:63,1
    - Dst: set_path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - "\n        config"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Build"
    - constant_path
    - size
    - path_prefix
    - path
    - has_constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Register"
    - mutable_constant_path
    - set_path_prefix
    - ENVOY_LOG
    - substr
    linkageType: ''
    returnType: void
    signature: "void ConfigParserImpl::ConfigParserImpl(\n    const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \       config)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:71,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - origin_path
    - ' new_path'
    argTypes:
    - absl::string_view
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - path_prefix
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    - absl::StrCat
    - has_constant_path
    - ENVOY_LOG
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::rewrite(absl::string_view origin_path,\n                               std::string&
      new_path) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:81,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 5
    functionsReached:
    - constant_path
    - has_constant_path
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ConfigParserImpl::url_template() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Lookup
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:96,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:99,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:100,1
    - Dst: std::vector::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:104,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:105,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' origin_path'
    - ' query'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 4
    functionsReached:
    - constant_path
    - std::vector::empty
    - ENVOY_LOG
    - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    - Lookup
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::getVariableBindings(const std::string& origin_path,\n
      \                                          std::string& query) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:115,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:119,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:120,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:122,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:125,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:127,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:129,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:135,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:136,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:137,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:139,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ' origin_path'
    - ' new_path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 5
    functionsReached:
    - constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    - path
    - absl::StrAppend
    - ENVOY_LOG
    - substr
    - std::string::empty
    - find
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::constPath(const std::string& origin_path,\n
      \                                std::string& new_path) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:36,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:37,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:38,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:39,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:40,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Register"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Build"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:48,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:53,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:55,1
    - Dst: mutable_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:56,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:61,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:63,1
    - Dst: set_path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - "\n        config"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Build"
    - constant_path
    - size
    - path_prefix
    - path
    - has_constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Register"
    - mutable_constant_path
    - set_path_prefix
    - ENVOY_LOG
    - substr
    linkageType: ''
    returnType: void
    signature: "void ConfigParserImpl::ConfigParserImpl(\n    const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \       config)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:71,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - origin_path
    - ' new_path'
    argTypes:
    - absl::string_view
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - path_prefix
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    - absl::StrCat
    - has_constant_path
    - ENVOY_LOG
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::rewrite(absl::string_view origin_path,\n                               std::string&
      new_path) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:81,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 6
    functionsReached:
    - constant_path
    - has_constant_path
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ConfigParserImpl::url_template() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Lookup
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:96,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:99,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:100,1
    - Dst: std::vector::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:104,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:105,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' origin_path'
    - ' query'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 5
    functionsReached:
    - constant_path
    - std::vector::empty
    - ENVOY_LOG
    - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    - Lookup
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::getVariableBindings(const std::string& origin_path,\n
      \                                          std::string& query) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:115,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:119,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:120,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:122,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:125,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:127,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:129,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:135,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:136,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:137,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:139,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ' origin_path'
    - ' new_path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 6
    functionsReached:
    - constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    - path
    - absl::StrAppend
    - ENVOY_LOG
    - substr
    - std::string::empty
    - find
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::constPath(const std::string& origin_path,\n
      \                                std::string& new_path) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:36,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:37,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:38,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:39,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:40,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Register"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Build"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:48,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:53,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:55,1
    - Dst: mutable_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:56,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:61,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:63,1
    - Dst: set_path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - "\n        config"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Build"
    - constant_path
    - size
    - path_prefix
    - path
    - has_constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Register"
    - mutable_constant_path
    - set_path_prefix
    - ENVOY_LOG
    - substr
    linkageType: ''
    returnType: void
    signature: "void ConfigParserImpl::ConfigParserImpl(\n    const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \       config)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:71,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - origin_path
    - ' new_path'
    argTypes:
    - absl::string_view
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - path_prefix
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    - absl::StrCat
    - has_constant_path
    - ENVOY_LOG
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::rewrite(absl::string_view origin_path,\n                               std::string&
      new_path) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:81,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 7
    functionsReached:
    - constant_path
    - has_constant_path
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ConfigParserImpl::url_template() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Lookup
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:96,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:99,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:100,1
    - Dst: std::vector::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:104,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:105,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' origin_path'
    - ' query'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 6
    functionsReached:
    - constant_path
    - std::vector::empty
    - ENVOY_LOG
    - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    - Lookup
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::getVariableBindings(const std::string& origin_path,\n
      \                                          std::string& query) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:115,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:119,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:120,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:122,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:125,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:127,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:129,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:135,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:136,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:137,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:139,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ' origin_path'
    - ' new_path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 7
    functionsReached:
    - constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    - path
    - absl::StrAppend
    - ENVOY_LOG
    - substr
    - std::string::empty
    - find
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::constPath(const std::string& origin_path,\n
      \                                std::string& new_path) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:36,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:37,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:38,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:39,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:40,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Register"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Build"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:48,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:53,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:55,1
    - Dst: mutable_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:56,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:61,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:63,1
    - Dst: set_path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - "\n        config"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Build"
    - constant_path
    - size
    - path_prefix
    - path
    - has_constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Register"
    - mutable_constant_path
    - set_path_prefix
    - ENVOY_LOG
    - substr
    linkageType: ''
    returnType: void
    signature: "void ConfigParserImpl::ConfigParserImpl(\n    const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \       config)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:71,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - origin_path
    - ' new_path'
    argTypes:
    - absl::string_view
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - path_prefix
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    - absl::StrCat
    - has_constant_path
    - ENVOY_LOG
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::rewrite(absl::string_view origin_path,\n                               std::string&
      new_path) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:81,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 8
    functionsReached:
    - constant_path
    - has_constant_path
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ConfigParserImpl::url_template() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Lookup
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:96,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:99,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:100,1
    - Dst: std::vector::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:104,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:105,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' origin_path'
    - ' query'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 7
    functionsReached:
    - constant_path
    - std::vector::empty
    - ENVOY_LOG
    - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    - Lookup
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::getVariableBindings(const std::string& origin_path,\n
      \                                          std::string& query) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:115,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:119,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:120,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:122,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:125,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:127,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:129,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:135,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:136,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:137,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:139,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ' origin_path'
    - ' new_path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 8
    functionsReached:
    - constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    - path
    - absl::StrAppend
    - ENVOY_LOG
    - substr
    - std::string::empty
    - find
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::constPath(const std::string& origin_path,\n
      \                                std::string& new_path) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:36,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:37,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:38,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:39,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:40,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Register"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Build"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:48,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:53,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:55,1
    - Dst: mutable_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:56,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:61,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:63,1
    - Dst: set_path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - "\n        config"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Build"
    - constant_path
    - size
    - path_prefix
    - path
    - has_constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Register"
    - mutable_constant_path
    - set_path_prefix
    - ENVOY_LOG
    - substr
    linkageType: ''
    returnType: void
    signature: "void ConfigParserImpl::ConfigParserImpl(\n    const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \       config)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:71,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - origin_path
    - ' new_path'
    argTypes:
    - absl::string_view
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - path_prefix
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    - absl::StrCat
    - has_constant_path
    - ENVOY_LOG
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::rewrite(absl::string_view origin_path,\n                               std::string&
      new_path) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:81,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 9
    functionsReached:
    - constant_path
    - has_constant_path
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ConfigParserImpl::url_template() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Lookup
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:96,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:99,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:100,1
    - Dst: std::vector::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:104,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:105,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' origin_path'
    - ' query'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 8
    functionsReached:
    - constant_path
    - std::vector::empty
    - ENVOY_LOG
    - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    - Lookup
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::getVariableBindings(const std::string& origin_path,\n
      \                                          std::string& query) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:115,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:119,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:120,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:122,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:125,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:127,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:129,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:135,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:136,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:137,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:139,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ' origin_path'
    - ' new_path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 9
    functionsReached:
    - constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    - path
    - absl::StrAppend
    - ENVOY_LOG
    - substr
    - std::string::empty
    - find
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::constPath(const std::string& origin_path,\n
      \                                std::string& new_path) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:36,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:37,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:38,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:39,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:40,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Register"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Build"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:48,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:53,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:55,1
    - Dst: mutable_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:56,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:61,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:63,1
    - Dst: set_path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - "\n        config"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Build"
    - constant_path
    - size
    - path_prefix
    - path
    - has_constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Register"
    - mutable_constant_path
    - set_path_prefix
    - ENVOY_LOG
    - substr
    linkageType: ''
    returnType: void
    signature: "void ConfigParserImpl::ConfigParserImpl(\n    const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \       config)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:71,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - origin_path
    - ' new_path'
    argTypes:
    - absl::string_view
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - path_prefix
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    - absl::StrCat
    - has_constant_path
    - ENVOY_LOG
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::rewrite(absl::string_view origin_path,\n                               std::string&
      new_path) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:81,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 10
    functionsReached:
    - constant_path
    - has_constant_path
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ConfigParserImpl::url_template() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Lookup
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:96,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:99,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:100,1
    - Dst: std::vector::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:104,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:105,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' origin_path'
    - ' query'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 9
    functionsReached:
    - constant_path
    - std::vector::empty
    - ENVOY_LOG
    - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    - Lookup
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::getVariableBindings(const std::string& origin_path,\n
      \                                          std::string& query) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:115,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:119,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:120,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:122,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:125,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:127,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:129,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:135,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:136,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:137,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:139,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ' origin_path'
    - ' new_path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 10
    functionsReached:
    - constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    - path
    - absl::StrAppend
    - ENVOY_LOG
    - substr
    - std::string::empty
    - find
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::constPath(const std::string& origin_path,\n
      \                                std::string& new_path) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:36,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:37,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:38,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:39,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:40,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Register"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Build"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:48,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:53,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:55,1
    - Dst: mutable_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:56,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:61,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:63,1
    - Dst: set_path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - "\n        config"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Build"
    - constant_path
    - size
    - path_prefix
    - path
    - has_constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Register"
    - mutable_constant_path
    - set_path_prefix
    - ENVOY_LOG
    - substr
    linkageType: ''
    returnType: void
    signature: "void ConfigParserImpl::ConfigParserImpl(\n    const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \       config)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:71,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - origin_path
    - ' new_path'
    argTypes:
    - absl::string_view
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - path_prefix
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    - absl::StrCat
    - has_constant_path
    - ENVOY_LOG
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::rewrite(absl::string_view origin_path,\n                               std::string&
      new_path) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:81,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 11
    functionsReached:
    - constant_path
    - has_constant_path
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ConfigParserImpl::url_template() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Lookup
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:96,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:99,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:100,1
    - Dst: std::vector::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:104,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:105,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' origin_path'
    - ' query'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 10
    functionsReached:
    - constant_path
    - std::vector::empty
    - ENVOY_LOG
    - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    - Lookup
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::getVariableBindings(const std::string& origin_path,\n
      \                                          std::string& query) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:115,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:119,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:120,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:122,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:125,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:127,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:129,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:135,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:136,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:137,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:139,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ' origin_path'
    - ' new_path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 11
    functionsReached:
    - constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    - path
    - absl::StrAppend
    - ENVOY_LOG
    - substr
    - std::string::empty
    - find
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::constPath(const std::string& origin_path,\n
      \                                std::string& new_path) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:36,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:37,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:38,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:39,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:40,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Register"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Build"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:48,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:53,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:55,1
    - Dst: mutable_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:56,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:61,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:63,1
    - Dst: set_path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - "\n        config"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Build"
    - constant_path
    - size
    - path_prefix
    - path
    - has_constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Register"
    - mutable_constant_path
    - set_path_prefix
    - ENVOY_LOG
    - substr
    linkageType: ''
    returnType: void
    signature: "void ConfigParserImpl::ConfigParserImpl(\n    const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \       config)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:71,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - origin_path
    - ' new_path'
    argTypes:
    - absl::string_view
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - path_prefix
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    - absl::StrCat
    - has_constant_path
    - ENVOY_LOG
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::rewrite(absl::string_view origin_path,\n                               std::string&
      new_path) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:81,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 12
    functionsReached:
    - constant_path
    - has_constant_path
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ConfigParserImpl::url_template() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Lookup
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:96,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:99,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:100,1
    - Dst: std::vector::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:104,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:105,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' origin_path'
    - ' query'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 11
    functionsReached:
    - constant_path
    - std::vector::empty
    - ENVOY_LOG
    - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    - Lookup
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::getVariableBindings(const std::string& origin_path,\n
      \                                          std::string& query) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:115,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:119,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:120,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:122,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:125,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:127,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:129,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:135,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:136,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:137,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:139,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ' origin_path'
    - ' new_path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 12
    functionsReached:
    - constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    - path
    - absl::StrAppend
    - ENVOY_LOG
    - substr
    - std::string::empty
    - find
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::constPath(const std::string& origin_path,\n
      \                                std::string& new_path) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:36,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:37,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:38,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:39,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:40,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Register"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Build"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:48,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:53,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:55,1
    - Dst: mutable_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:56,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:61,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:63,1
    - Dst: set_path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - "\n        config"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Build"
    - constant_path
    - size
    - path_prefix
    - path
    - has_constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Register"
    - mutable_constant_path
    - set_path_prefix
    - ENVOY_LOG
    - substr
    linkageType: ''
    returnType: void
    signature: "void ConfigParserImpl::ConfigParserImpl(\n    const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \       config)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:71,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - origin_path
    - ' new_path'
    argTypes:
    - absl::string_view
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - path_prefix
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    - absl::StrCat
    - has_constant_path
    - ENVOY_LOG
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::rewrite(absl::string_view origin_path,\n                               std::string&
      new_path) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:81,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 13
    functionsReached:
    - constant_path
    - has_constant_path
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ConfigParserImpl::url_template() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Lookup
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:96,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:99,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:100,1
    - Dst: std::vector::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:104,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:105,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' origin_path'
    - ' query'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 12
    functionsReached:
    - constant_path
    - std::vector::empty
    - ENVOY_LOG
    - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    - Lookup
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::getVariableBindings(const std::string& origin_path,\n
      \                                          std::string& query) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:115,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:119,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:120,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:122,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:125,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:127,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:129,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:135,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:136,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:137,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:139,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ' origin_path'
    - ' new_path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 13
    functionsReached:
    - constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    - path
    - absl::StrAppend
    - ENVOY_LOG
    - substr
    - std::string::empty
    - find
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::constPath(const std::string& origin_path,\n
      \                                std::string& new_path) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:36,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:37,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:38,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:39,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:40,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Register"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Build"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:48,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:53,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:55,1
    - Dst: mutable_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:56,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:61,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:63,1
    - Dst: set_path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - "\n        config"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Build"
    - constant_path
    - size
    - path_prefix
    - path
    - has_constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Register"
    - mutable_constant_path
    - set_path_prefix
    - ENVOY_LOG
    - substr
    linkageType: ''
    returnType: void
    signature: "void ConfigParserImpl::ConfigParserImpl(\n    const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \       config)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:71,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - origin_path
    - ' new_path'
    argTypes:
    - absl::string_view
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - path_prefix
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    - absl::StrCat
    - has_constant_path
    - ENVOY_LOG
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::rewrite(absl::string_view origin_path,\n                               std::string&
      new_path) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:81,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 14
    functionsReached:
    - constant_path
    - has_constant_path
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ConfigParserImpl::url_template() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Lookup
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:96,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:99,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:100,1
    - Dst: std::vector::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:104,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:105,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' origin_path'
    - ' query'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 13
    functionsReached:
    - constant_path
    - std::vector::empty
    - ENVOY_LOG
    - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    - Lookup
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::getVariableBindings(const std::string& origin_path,\n
      \                                          std::string& query) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:115,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:119,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:120,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:122,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:125,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:127,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:129,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:135,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:136,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:137,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:139,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ' origin_path'
    - ' new_path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 14
    functionsReached:
    - constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    - path
    - absl::StrAppend
    - ENVOY_LOG
    - substr
    - std::string::empty
    - find
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::constPath(const std::string& origin_path,\n
      \                                std::string& new_path) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:36,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:37,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:38,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:39,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:40,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Register"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Build"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:48,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:53,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:55,1
    - Dst: mutable_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:56,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:61,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:63,1
    - Dst: set_path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - "\n        config"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Build"
    - constant_path
    - size
    - path_prefix
    - path
    - has_constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Register"
    - mutable_constant_path
    - set_path_prefix
    - ENVOY_LOG
    - substr
    linkageType: ''
    returnType: void
    signature: "void ConfigParserImpl::ConfigParserImpl(\n    const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \       config)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:71,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - origin_path
    - ' new_path'
    argTypes:
    - absl::string_view
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - path_prefix
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    - absl::StrCat
    - has_constant_path
    - ENVOY_LOG
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::rewrite(absl::string_view origin_path,\n                               std::string&
      new_path) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:81,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 15
    functionsReached:
    - constant_path
    - has_constant_path
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ConfigParserImpl::url_template() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Lookup
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:96,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:99,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:100,1
    - Dst: std::vector::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:104,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:105,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' origin_path'
    - ' query'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 14
    functionsReached:
    - constant_path
    - std::vector::empty
    - ENVOY_LOG
    - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    - Lookup
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::getVariableBindings(const std::string& origin_path,\n
      \                                          std::string& query) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:115,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:119,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:120,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:122,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:125,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:127,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:129,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:135,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:136,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:137,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:139,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ' origin_path'
    - ' new_path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 15
    functionsReached:
    - constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    - path
    - absl::StrAppend
    - ENVOY_LOG
    - substr
    - std::string::empty
    - find
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::constPath(const std::string& origin_path,\n
      \                                std::string& new_path) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:36,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:37,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:38,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:39,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:40,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Register"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:46,1
    - Dst: "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const
        ::espv2::api::envoy::v12::http::path_rewrite::\n              PerRouteFilterConfig*>::Build"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:48,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:53,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:54,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:55,1
    - Dst: mutable_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:56,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:57,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:61,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:62,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:63,1
    - Dst: set_path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - "\n        config"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Build"
    - constant_path
    - size
    - path_prefix
    - path
    - has_constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    - "::espv2::api_proxy::path_matcher::PathMatcherBuilder<\n          const ::espv2::api::envoy::v12::http::path_rewrite::\n
      \             PerRouteFilterConfig*>::Register"
    - mutable_constant_path
    - set_path_prefix
    - ENVOY_LOG
    - substr
    linkageType: ''
    returnType: void
    signature: "void ConfigParserImpl::ConfigParserImpl(\n    const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \       config)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:71,1
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:72,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: path_prefix
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:75,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - origin_path
    - ' new_path'
    argTypes:
    - absl::string_view
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - path_prefix
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    - absl::StrCat
    - has_constant_path
    - ENVOY_LOG
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::rewrite(absl::string_view origin_path,\n                               std::string&
      new_path) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:81,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 16
    functionsReached:
    - constant_path
    - has_constant_path
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ConfigParserImpl::url_template() const
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Lookup
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:96,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:99,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:100,1
    - Dst: std::vector::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:104,1
    - Dst: espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:105,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ' origin_path'
    - ' query'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 15
    functionsReached:
    - constant_path
    - std::vector::empty
    - ENVOY_LOG
    - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
    - Lookup
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::getVariableBindings(const std::string& origin_path,\n
      \                                          std::string& query) const"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:115,1
    - Dst: constant_path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:119,1
    - Dst: path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:120,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:122,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:125,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:127,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:129,1
    - Dst: substr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:135,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:136,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:137,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:139,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ' origin_path'
    - ' new_path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
    functionUses: 16
    functionsReached:
    - constant_path
    - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
    - path
    - absl::StrAppend
    - ENVOY_LOG
    - substr
    - std::string::empty
    - find
    linkageType: ''
    returnType: bool
    signature: "bool ConfigParserImpl::constPath(const std::string& origin_path,\n
      \                                std::string& new_path) const"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:45,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:50,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:54,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:56,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:57,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:59,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:65,1
    - Dst: absl::StrContains
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:69,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:71,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:74,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:81,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:85,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:93,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:103,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:105,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:110,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:113,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:116,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:121,1
    - Dst: setEnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: getPathValue
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: setPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrContains
    - getPathValue
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    - EnvoyOriginalPath
    - Method
    - ENVOY_LOG
    - espv2::envoy::utils::readHeaderEntry
    - setEnvoyOriginalPath
    - setPath
    - Path
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - auto*::config_parser
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:130,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 1
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:45,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:50,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:54,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:56,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:57,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:59,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:65,1
    - Dst: absl::StrContains
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:69,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:71,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:74,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:81,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:85,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:93,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:103,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:105,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:110,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:113,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:116,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:121,1
    - Dst: setEnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: getPathValue
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: setPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrContains
    - getPathValue
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    - EnvoyOriginalPath
    - Method
    - ENVOY_LOG
    - espv2::envoy::utils::readHeaderEntry
    - setEnvoyOriginalPath
    - setPath
    - Path
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - auto*::config_parser
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:130,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 2
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:45,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:50,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:54,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:56,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:57,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:59,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:65,1
    - Dst: absl::StrContains
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:69,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:71,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:74,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:81,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:85,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:93,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:103,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:105,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:110,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:113,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:116,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:121,1
    - Dst: setEnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: getPathValue
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: setPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrContains
    - getPathValue
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    - EnvoyOriginalPath
    - Method
    - ENVOY_LOG
    - espv2::envoy::utils::readHeaderEntry
    - setEnvoyOriginalPath
    - setPath
    - Path
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - auto*::config_parser
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:130,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 3
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:45,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:50,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:54,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:56,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:57,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:59,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:65,1
    - Dst: absl::StrContains
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:69,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:71,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:74,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:81,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:85,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:93,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:103,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:105,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:110,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:113,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:116,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:121,1
    - Dst: setEnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: getPathValue
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: setPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrContains
    - getPathValue
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    - EnvoyOriginalPath
    - Method
    - ENVOY_LOG
    - espv2::envoy::utils::readHeaderEntry
    - setEnvoyOriginalPath
    - setPath
    - Path
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - auto*::config_parser
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:130,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 4
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:45,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:50,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:54,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:56,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:57,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:59,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:65,1
    - Dst: absl::StrContains
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:69,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:71,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:74,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:81,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:85,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:93,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:103,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:105,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:110,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:113,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:116,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:121,1
    - Dst: setEnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: getPathValue
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: setPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrContains
    - getPathValue
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    - EnvoyOriginalPath
    - Method
    - ENVOY_LOG
    - espv2::envoy::utils::readHeaderEntry
    - setEnvoyOriginalPath
    - setPath
    - Path
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - auto*::config_parser
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:130,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 5
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:45,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:50,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:54,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:56,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:57,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:59,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:65,1
    - Dst: absl::StrContains
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:69,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:71,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:74,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:81,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:85,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:93,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:103,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:105,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:110,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:113,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:116,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:121,1
    - Dst: setEnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: getPathValue
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: setPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrContains
    - getPathValue
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    - EnvoyOriginalPath
    - Method
    - ENVOY_LOG
    - espv2::envoy::utils::readHeaderEntry
    - setEnvoyOriginalPath
    - setPath
    - Path
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - auto*::config_parser
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:130,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 6
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:45,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:50,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:54,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:56,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:57,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:59,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:65,1
    - Dst: absl::StrContains
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:69,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:71,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:74,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:81,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:85,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:93,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:103,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:105,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:110,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:113,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:116,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:121,1
    - Dst: setEnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: getPathValue
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: setPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrContains
    - getPathValue
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    - EnvoyOriginalPath
    - Method
    - ENVOY_LOG
    - espv2::envoy::utils::readHeaderEntry
    - setEnvoyOriginalPath
    - setPath
    - Path
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - auto*::config_parser
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:130,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 7
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:45,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:50,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:54,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:56,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:57,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:59,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:65,1
    - Dst: absl::StrContains
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:69,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:71,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:74,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:81,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:85,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:93,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:103,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:105,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:110,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:113,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:116,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:121,1
    - Dst: setEnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: getPathValue
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: setPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrContains
    - getPathValue
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    - EnvoyOriginalPath
    - Method
    - ENVOY_LOG
    - espv2::envoy::utils::readHeaderEntry
    - setEnvoyOriginalPath
    - setPath
    - Path
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - auto*::config_parser
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:130,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 8
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:45,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:50,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:54,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:56,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:57,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:59,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:65,1
    - Dst: absl::StrContains
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:69,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:71,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:74,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:81,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:85,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:93,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:103,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:105,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:110,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:113,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:116,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:121,1
    - Dst: setEnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: getPathValue
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: setPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrContains
    - getPathValue
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    - EnvoyOriginalPath
    - Method
    - ENVOY_LOG
    - espv2::envoy::utils::readHeaderEntry
    - setEnvoyOriginalPath
    - setPath
    - Path
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - auto*::config_parser
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:130,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 9
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:45,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:50,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:54,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:56,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:57,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:59,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:65,1
    - Dst: absl::StrContains
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:69,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:71,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:74,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:81,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:85,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:93,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:103,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:105,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:110,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:113,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:116,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:121,1
    - Dst: setEnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: getPathValue
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: setPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrContains
    - getPathValue
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    - EnvoyOriginalPath
    - Method
    - ENVOY_LOG
    - espv2::envoy::utils::readHeaderEntry
    - setEnvoyOriginalPath
    - setPath
    - Path
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - auto*::config_parser
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:130,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 10
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:45,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:50,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:54,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:56,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:57,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:59,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:65,1
    - Dst: absl::StrContains
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:69,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:71,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:74,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:81,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:85,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:93,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:103,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:105,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:110,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:113,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:116,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:121,1
    - Dst: setEnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: getPathValue
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: setPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrContains
    - getPathValue
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    - EnvoyOriginalPath
    - Method
    - ENVOY_LOG
    - espv2::envoy::utils::readHeaderEntry
    - setEnvoyOriginalPath
    - setPath
    - Path
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - auto*::config_parser
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:130,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 11
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:45,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:50,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:54,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:56,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:57,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:59,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:65,1
    - Dst: absl::StrContains
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:69,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:71,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:74,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:81,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:85,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:93,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:103,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:105,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:110,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:113,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:116,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:121,1
    - Dst: setEnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: getPathValue
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: setPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrContains
    - getPathValue
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    - EnvoyOriginalPath
    - Method
    - ENVOY_LOG
    - espv2::envoy::utils::readHeaderEntry
    - setEnvoyOriginalPath
    - setPath
    - Path
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - auto*::config_parser
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:130,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 12
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:45,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:50,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:54,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:56,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:57,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:59,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:65,1
    - Dst: absl::StrContains
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:69,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:71,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:74,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:81,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:85,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:93,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:103,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:105,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:110,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:113,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:116,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:121,1
    - Dst: setEnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: getPathValue
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: setPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrContains
    - getPathValue
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    - EnvoyOriginalPath
    - Method
    - ENVOY_LOG
    - espv2::envoy::utils::readHeaderEntry
    - setEnvoyOriginalPath
    - setPath
    - Path
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - auto*::config_parser
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:130,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 13
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:45,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:50,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:54,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:56,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:57,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:59,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:65,1
    - Dst: absl::StrContains
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:69,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:71,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:74,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:81,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:85,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:93,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:103,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:105,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:110,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:113,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:116,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:121,1
    - Dst: setEnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: getPathValue
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: setPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrContains
    - getPathValue
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    - EnvoyOriginalPath
    - Method
    - ENVOY_LOG
    - espv2::envoy::utils::readHeaderEntry
    - setEnvoyOriginalPath
    - setPath
    - Path
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - auto*::config_parser
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:130,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 14
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:45,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:50,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:54,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:56,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:57,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:59,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:65,1
    - Dst: absl::StrContains
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:69,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:71,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:74,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:81,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:85,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:93,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:103,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:105,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:110,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:113,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:116,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:121,1
    - Dst: setEnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: getPathValue
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: setPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrContains
    - getPathValue
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    - EnvoyOriginalPath
    - Method
    - ENVOY_LOG
    - espv2::envoy::utils::readHeaderEntry
    - setEnvoyOriginalPath
    - setPath
    - Path
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - auto*::config_parser
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:130,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 15
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:45,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:50,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:54,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:55,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:56,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:57,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:59,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:65,1
    - Dst: absl::StrContains
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:69,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:70,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:71,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:74,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:81,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:85,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:93,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:95,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:103,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:104,1
    - Dst: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:105,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:107,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:108,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:110,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:113,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:114,1
    - Dst: auto*::config_parser
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:116,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:120,1
    - Dst: EnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:121,1
    - Dst: setEnvoyOriginalPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: getPathValue
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:122,1
    - Dst: setPath
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrContains
    - getPathValue
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    - EnvoyOriginalPath
    - Method
    - ENVOY_LOG
    - espv2::envoy::utils::readHeaderEntry
    - setEnvoyOriginalPath
    - setPath
    - Path
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - auto*::config_parser
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:130,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
    functionUses: 16
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~ConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~ConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~ConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~ConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~ConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~ConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~ConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~ConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~ConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~ConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~ConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~ConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~ConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~ConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~ConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: ~ConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: ALL_PATH_REWRITE_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_PATH_REWRITE_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    linkageType: ''
    returnType: void
    signature: void FilterConfig(const std::string& stats_prefix, Envoy::Stats::Scope&
      scope)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_PATH_REWRITE_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 1
    functionsReached:
    - POOL_COUNTER_PREFIX
    - ALL_PATH_REWRITE_FILTER_STATS
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config_parser
    argTypes:
    - ConfigParserPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PerRouteFilterConfig(ConfigParserPtr config_parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& config_parser() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConfigParser
    signature: ConfigParser & config_parser() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: ALL_PATH_REWRITE_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_PATH_REWRITE_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    linkageType: ''
    returnType: void
    signature: void FilterConfig(const std::string& stats_prefix, Envoy::Stats::Scope&
      scope)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_PATH_REWRITE_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 2
    functionsReached:
    - POOL_COUNTER_PREFIX
    - ALL_PATH_REWRITE_FILTER_STATS
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config_parser
    argTypes:
    - ConfigParserPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PerRouteFilterConfig(ConfigParserPtr config_parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& config_parser() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConfigParser
    signature: ConfigParser & config_parser() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: ALL_PATH_REWRITE_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_PATH_REWRITE_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    linkageType: ''
    returnType: void
    signature: void FilterConfig(const std::string& stats_prefix, Envoy::Stats::Scope&
      scope)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_PATH_REWRITE_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 3
    functionsReached:
    - POOL_COUNTER_PREFIX
    - ALL_PATH_REWRITE_FILTER_STATS
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config_parser
    argTypes:
    - ConfigParserPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PerRouteFilterConfig(ConfigParserPtr config_parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& config_parser() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConfigParser
    signature: ConfigParser & config_parser() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: ALL_PATH_REWRITE_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_PATH_REWRITE_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    linkageType: ''
    returnType: void
    signature: void FilterConfig(const std::string& stats_prefix, Envoy::Stats::Scope&
      scope)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_PATH_REWRITE_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 4
    functionsReached:
    - POOL_COUNTER_PREFIX
    - ALL_PATH_REWRITE_FILTER_STATS
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config_parser
    argTypes:
    - ConfigParserPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PerRouteFilterConfig(ConfigParserPtr config_parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& config_parser() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConfigParser
    signature: ConfigParser & config_parser() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: ALL_PATH_REWRITE_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_PATH_REWRITE_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    linkageType: ''
    returnType: void
    signature: void FilterConfig(const std::string& stats_prefix, Envoy::Stats::Scope&
      scope)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_PATH_REWRITE_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 5
    functionsReached:
    - POOL_COUNTER_PREFIX
    - ALL_PATH_REWRITE_FILTER_STATS
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config_parser
    argTypes:
    - ConfigParserPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PerRouteFilterConfig(ConfigParserPtr config_parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& config_parser() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConfigParser
    signature: ConfigParser & config_parser() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: ALL_PATH_REWRITE_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_PATH_REWRITE_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    linkageType: ''
    returnType: void
    signature: void FilterConfig(const std::string& stats_prefix, Envoy::Stats::Scope&
      scope)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_PATH_REWRITE_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 6
    functionsReached:
    - POOL_COUNTER_PREFIX
    - ALL_PATH_REWRITE_FILTER_STATS
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config_parser
    argTypes:
    - ConfigParserPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PerRouteFilterConfig(ConfigParserPtr config_parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& config_parser() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConfigParser
    signature: ConfigParser & config_parser() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: ALL_PATH_REWRITE_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_PATH_REWRITE_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    linkageType: ''
    returnType: void
    signature: void FilterConfig(const std::string& stats_prefix, Envoy::Stats::Scope&
      scope)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_PATH_REWRITE_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 7
    functionsReached:
    - POOL_COUNTER_PREFIX
    - ALL_PATH_REWRITE_FILTER_STATS
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config_parser
    argTypes:
    - ConfigParserPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PerRouteFilterConfig(ConfigParserPtr config_parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& config_parser() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConfigParser
    signature: ConfigParser & config_parser() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: ALL_PATH_REWRITE_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_PATH_REWRITE_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    linkageType: ''
    returnType: void
    signature: void FilterConfig(const std::string& stats_prefix, Envoy::Stats::Scope&
      scope)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_PATH_REWRITE_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 8
    functionsReached:
    - POOL_COUNTER_PREFIX
    - ALL_PATH_REWRITE_FILTER_STATS
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config_parser
    argTypes:
    - ConfigParserPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PerRouteFilterConfig(ConfigParserPtr config_parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& config_parser() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConfigParser
    signature: ConfigParser & config_parser() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: ALL_PATH_REWRITE_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_PATH_REWRITE_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    linkageType: ''
    returnType: void
    signature: void FilterConfig(const std::string& stats_prefix, Envoy::Stats::Scope&
      scope)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_PATH_REWRITE_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 9
    functionsReached:
    - POOL_COUNTER_PREFIX
    - ALL_PATH_REWRITE_FILTER_STATS
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config_parser
    argTypes:
    - ConfigParserPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PerRouteFilterConfig(ConfigParserPtr config_parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& config_parser() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConfigParser
    signature: ConfigParser & config_parser() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: ALL_PATH_REWRITE_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_PATH_REWRITE_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    linkageType: ''
    returnType: void
    signature: void FilterConfig(const std::string& stats_prefix, Envoy::Stats::Scope&
      scope)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_PATH_REWRITE_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 10
    functionsReached:
    - POOL_COUNTER_PREFIX
    - ALL_PATH_REWRITE_FILTER_STATS
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config_parser
    argTypes:
    - ConfigParserPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PerRouteFilterConfig(ConfigParserPtr config_parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& config_parser() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConfigParser
    signature: ConfigParser & config_parser() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: ALL_PATH_REWRITE_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_PATH_REWRITE_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    linkageType: ''
    returnType: void
    signature: void FilterConfig(const std::string& stats_prefix, Envoy::Stats::Scope&
      scope)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_PATH_REWRITE_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 11
    functionsReached:
    - POOL_COUNTER_PREFIX
    - ALL_PATH_REWRITE_FILTER_STATS
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config_parser
    argTypes:
    - ConfigParserPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PerRouteFilterConfig(ConfigParserPtr config_parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& config_parser() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConfigParser
    signature: ConfigParser & config_parser() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: ALL_PATH_REWRITE_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_PATH_REWRITE_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    linkageType: ''
    returnType: void
    signature: void FilterConfig(const std::string& stats_prefix, Envoy::Stats::Scope&
      scope)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_PATH_REWRITE_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 12
    functionsReached:
    - POOL_COUNTER_PREFIX
    - ALL_PATH_REWRITE_FILTER_STATS
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config_parser
    argTypes:
    - ConfigParserPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PerRouteFilterConfig(ConfigParserPtr config_parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& config_parser() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConfigParser
    signature: ConfigParser & config_parser() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: ALL_PATH_REWRITE_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_PATH_REWRITE_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    linkageType: ''
    returnType: void
    signature: void FilterConfig(const std::string& stats_prefix, Envoy::Stats::Scope&
      scope)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_PATH_REWRITE_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 13
    functionsReached:
    - POOL_COUNTER_PREFIX
    - ALL_PATH_REWRITE_FILTER_STATS
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config_parser
    argTypes:
    - ConfigParserPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PerRouteFilterConfig(ConfigParserPtr config_parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& config_parser() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConfigParser
    signature: ConfigParser & config_parser() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: ALL_PATH_REWRITE_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_PATH_REWRITE_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    linkageType: ''
    returnType: void
    signature: void FilterConfig(const std::string& stats_prefix, Envoy::Stats::Scope&
      scope)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_PATH_REWRITE_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 14
    functionsReached:
    - POOL_COUNTER_PREFIX
    - ALL_PATH_REWRITE_FILTER_STATS
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config_parser
    argTypes:
    - ConfigParserPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PerRouteFilterConfig(ConfigParserPtr config_parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& config_parser() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConfigParser
    signature: ConfigParser & config_parser() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: ALL_PATH_REWRITE_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_PATH_REWRITE_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    linkageType: ''
    returnType: void
    signature: void FilterConfig(const std::string& stats_prefix, Envoy::Stats::Scope&
      scope)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_PATH_REWRITE_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 15
    functionsReached:
    - POOL_COUNTER_PREFIX
    - ALL_PATH_REWRITE_FILTER_STATS
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config_parser
    argTypes:
    - ConfigParserPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PerRouteFilterConfig(ConfigParserPtr config_parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& config_parser() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConfigParser
    signature: ConfigParser & config_parser() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: ALL_PATH_REWRITE_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_PATH_REWRITE_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    linkageType: ''
    returnType: void
    signature: void FilterConfig(const std::string& stats_prefix, Envoy::Stats::Scope&
      scope)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_PATH_REWRITE_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 16
    functionsReached:
    - POOL_COUNTER_PREFIX
    - ALL_PATH_REWRITE_FILTER_STATS
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config_parser
    argTypes:
    - ConfigParserPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PerRouteFilterConfig(ConfigParserPtr config_parser)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: '& config_parser() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ConfigParser
    signature: ConfigParser & config_parser() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:46,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:47,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<FilterConfig>
    - scope
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::FilterConfig&,\n      const
      std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:58,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<ConfigParserImpl>
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:46,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:47,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<FilterConfig>
    - scope
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::FilterConfig&,\n      const
      std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:58,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<ConfigParserImpl>
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:46,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:47,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<FilterConfig>
    - scope
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::FilterConfig&,\n      const
      std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:58,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<ConfigParserImpl>
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:46,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:47,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<FilterConfig>
    - scope
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::FilterConfig&,\n      const
      std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:58,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<ConfigParserImpl>
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:46,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:47,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<FilterConfig>
    - scope
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::FilterConfig&,\n      const
      std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:58,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<ConfigParserImpl>
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:46,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:47,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<FilterConfig>
    - scope
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::FilterConfig&,\n      const
      std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:58,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<ConfigParserImpl>
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:46,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:47,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<FilterConfig>
    - scope
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::FilterConfig&,\n      const
      std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:58,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<ConfigParserImpl>
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:46,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:47,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<FilterConfig>
    - scope
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::FilterConfig&,\n      const
      std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:58,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<ConfigParserImpl>
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:46,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:47,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<FilterConfig>
    - scope
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::FilterConfig&,\n      const
      std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:58,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<ConfigParserImpl>
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:46,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:47,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<FilterConfig>
    - scope
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::FilterConfig&,\n      const
      std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:58,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<ConfigParserImpl>
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:46,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:47,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<FilterConfig>
    - scope
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::FilterConfig&,\n      const
      std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:58,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<ConfigParserImpl>
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:46,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:47,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<FilterConfig>
    - scope
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::FilterConfig&,\n      const
      std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:58,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<ConfigParserImpl>
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:46,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:47,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<FilterConfig>
    - scope
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::FilterConfig&,\n      const
      std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:58,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<ConfigParserImpl>
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:46,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:47,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<FilterConfig>
    - scope
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::FilterConfig&,\n      const
      std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:58,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<ConfigParserImpl>
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:46,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:47,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<FilterConfig>
    - scope
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::FilterConfig&,\n      const
      std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:58,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<ConfigParserImpl>
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:43,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:46,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:47,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<FilterConfig>
    - scope
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::FilterConfig&,\n      const
      std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:58,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<ConfigParserImpl>
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::path_rewrite::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::http_filters::path_rewrite::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<ConfigParserImpl>
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void setUp(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::validate
    - google::protobuf::TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void validateConfig(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixEmptyConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:121,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixRemoveLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:139,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasicRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:154,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - rewrite
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:182,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRemovedLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<ConfigParserImpl>
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void setUp(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::validate
    - google::protobuf::TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void validateConfig(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixEmptyConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:121,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixRemoveLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:139,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasicRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:154,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - rewrite
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:182,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRemovedLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<ConfigParserImpl>
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void setUp(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::validate
    - google::protobuf::TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void validateConfig(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixEmptyConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:121,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixRemoveLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:139,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasicRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:154,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - rewrite
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:182,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRemovedLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<ConfigParserImpl>
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void setUp(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::validate
    - google::protobuf::TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void validateConfig(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixEmptyConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:121,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixRemoveLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:139,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasicRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:154,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - rewrite
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:182,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRemovedLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<ConfigParserImpl>
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void setUp(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::validate
    - google::protobuf::TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void validateConfig(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixEmptyConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:121,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixRemoveLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:139,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasicRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:154,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - rewrite
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:182,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRemovedLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<ConfigParserImpl>
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void setUp(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::validate
    - google::protobuf::TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void validateConfig(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixEmptyConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:121,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixRemoveLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:139,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasicRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:154,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - rewrite
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:182,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRemovedLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<ConfigParserImpl>
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void setUp(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::validate
    - google::protobuf::TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void validateConfig(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixEmptyConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:121,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixRemoveLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:139,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasicRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:154,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - rewrite
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:182,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRemovedLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<ConfigParserImpl>
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void setUp(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::validate
    - google::protobuf::TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void validateConfig(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixEmptyConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:121,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixRemoveLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:139,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasicRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:154,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - rewrite
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:182,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRemovedLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<ConfigParserImpl>
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void setUp(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::validate
    - google::protobuf::TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void validateConfig(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixEmptyConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:121,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixRemoveLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:139,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasicRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:154,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - rewrite
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:182,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRemovedLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<ConfigParserImpl>
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void setUp(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::validate
    - google::protobuf::TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void validateConfig(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixEmptyConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:121,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixRemoveLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:139,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasicRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:154,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - rewrite
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:182,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRemovedLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<ConfigParserImpl>
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void setUp(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::validate
    - google::protobuf::TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void validateConfig(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixEmptyConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:121,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixRemoveLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:139,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasicRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:154,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - rewrite
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:182,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRemovedLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<ConfigParserImpl>
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void setUp(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::validate
    - google::protobuf::TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void validateConfig(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixEmptyConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:121,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixRemoveLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:139,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasicRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:154,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - rewrite
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:182,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRemovedLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<ConfigParserImpl>
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void setUp(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::validate
    - google::protobuf::TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void validateConfig(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixEmptyConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:121,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixRemoveLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:139,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasicRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:154,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - rewrite
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:182,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRemovedLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<ConfigParserImpl>
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void setUp(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::validate
    - google::protobuf::TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void validateConfig(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixEmptyConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:121,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixRemoveLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:139,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasicRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:154,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - rewrite
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:182,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRemovedLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<ConfigParserImpl>
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void setUp(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::validate
    - google::protobuf::TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void validateConfig(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixEmptyConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:121,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixRemoveLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:139,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasicRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:154,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - rewrite
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:182,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRemovedLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:30,1
    - Dst: std::make_unique<ConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<ConfigParserImpl>
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void setUp(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:36,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' config_str'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::validate
    - google::protobuf::TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void validateConfig(const std::string& config_str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixEmptyConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidatePathPrefixWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithQuestionMark)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_THROW_WITH_REGEX
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    - Dst: validateConfig
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - validateConfig
    - EXPECT_THROW_WITH_REGEX
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ValidateConstPathWithFragment)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:109,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:113,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:114,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:121,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:125,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:126,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:128,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixRemoveLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:134,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:138,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:139,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, PathPrefixBasicRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:146,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:154,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:157,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:170,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:173,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:177,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_FALSE
    - EXPECT_EQ
    - EXPECT_TRUE
    - rewrite
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathUrlTemplate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:182,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:189,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:190,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRemovedLastSlash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:198,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:205,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:206,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: rewrite
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:209,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::path_rewrite::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - rewrite
    - EXPECT_EQ
    - EXPECT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, ConstantPathNoUrlTemplateRoot)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:36,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:39,1
    - Dst: downstreamCallbacks
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::utils::handleHttpMethodOverride
    - downstreamCallbacks
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:36,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:39,1
    - Dst: downstreamCallbacks
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::utils::handleHttpMethodOverride
    - downstreamCallbacks
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:36,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:39,1
    - Dst: downstreamCallbacks
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::utils::handleHttpMethodOverride
    - downstreamCallbacks
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:36,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:39,1
    - Dst: downstreamCallbacks
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::utils::handleHttpMethodOverride
    - downstreamCallbacks
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:36,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:39,1
    - Dst: downstreamCallbacks
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::utils::handleHttpMethodOverride
    - downstreamCallbacks
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:36,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:39,1
    - Dst: downstreamCallbacks
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::utils::handleHttpMethodOverride
    - downstreamCallbacks
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:36,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:39,1
    - Dst: downstreamCallbacks
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::utils::handleHttpMethodOverride
    - downstreamCallbacks
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:36,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:39,1
    - Dst: downstreamCallbacks
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::utils::handleHttpMethodOverride
    - downstreamCallbacks
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:36,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:39,1
    - Dst: downstreamCallbacks
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::utils::handleHttpMethodOverride
    - downstreamCallbacks
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:36,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:39,1
    - Dst: downstreamCallbacks
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::utils::handleHttpMethodOverride
    - downstreamCallbacks
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:36,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:39,1
    - Dst: downstreamCallbacks
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::utils::handleHttpMethodOverride
    - downstreamCallbacks
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:36,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:39,1
    - Dst: downstreamCallbacks
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::utils::handleHttpMethodOverride
    - downstreamCallbacks
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:36,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:39,1
    - Dst: downstreamCallbacks
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::utils::handleHttpMethodOverride
    - downstreamCallbacks
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:36,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:39,1
    - Dst: downstreamCallbacks
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::utils::handleHttpMethodOverride
    - downstreamCallbacks
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:36,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:39,1
    - Dst: downstreamCallbacks
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::utils::handleHttpMethodOverride
    - downstreamCallbacks
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:36,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:39,1
    - Dst: downstreamCallbacks
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::utils::handleHttpMethodOverride
    - downstreamCallbacks
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:44,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::header_sanitizer::FilterConfig&,\n
      \     const std::string&,\n      Envoy::Server::Configuration::FactoryContext&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:44,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::header_sanitizer::FilterConfig&,\n
      \     const std::string&,\n      Envoy::Server::Configuration::FactoryContext&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:44,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::header_sanitizer::FilterConfig&,\n
      \     const std::string&,\n      Envoy::Server::Configuration::FactoryContext&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:44,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::header_sanitizer::FilterConfig&,\n
      \     const std::string&,\n      Envoy::Server::Configuration::FactoryContext&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:44,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::header_sanitizer::FilterConfig&,\n
      \     const std::string&,\n      Envoy::Server::Configuration::FactoryContext&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:44,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::header_sanitizer::FilterConfig&,\n
      \     const std::string&,\n      Envoy::Server::Configuration::FactoryContext&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:44,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::header_sanitizer::FilterConfig&,\n
      \     const std::string&,\n      Envoy::Server::Configuration::FactoryContext&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:44,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::header_sanitizer::FilterConfig&,\n
      \     const std::string&,\n      Envoy::Server::Configuration::FactoryContext&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:44,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::header_sanitizer::FilterConfig&,\n
      \     const std::string&,\n      Envoy::Server::Configuration::FactoryContext&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:44,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::header_sanitizer::FilterConfig&,\n
      \     const std::string&,\n      Envoy::Server::Configuration::FactoryContext&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:44,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::header_sanitizer::FilterConfig&,\n
      \     const std::string&,\n      Envoy::Server::Configuration::FactoryContext&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:44,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::header_sanitizer::FilterConfig&,\n
      \     const std::string&,\n      Envoy::Server::Configuration::FactoryContext&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:44,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::header_sanitizer::FilterConfig&,\n
      \     const std::string&,\n      Envoy::Server::Configuration::FactoryContext&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:44,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::header_sanitizer::FilterConfig&,\n
      \     const std::string&,\n      Envoy::Server::Configuration::FactoryContext&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:44,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::header_sanitizer::FilterConfig&,\n
      \     const std::string&,\n      Envoy::Server::Configuration::FactoryContext&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:44,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::header_sanitizer::FilterConfig&,\n
      \     const std::string&,\n      Envoy::Server::Configuration::FactoryContext&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::header_sanitizer::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/header_sanitizer/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<NiceMock<MockFilterConfigParser>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:50,1
    - Dst: std::make_shared<NiceMock<MockFilterConfig>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:51,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:54,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:55,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:57,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:59,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - EXPECT_CALL
    - std::make_shared<NiceMock<MockFilterConfig>>
    - std::make_unique<Filter>
    - std::make_shared<NiceMock<MockFilterConfigParser>>
    - setDecoderFilterCallbacks
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:66,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:69,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:71,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' jwt_audience'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
    - auto::get
    - Return
    - std::make_shared<PerRouteFilterConfig>
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void setPerRouteJwtAudience(const std::string& jwt_audience)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NoRouteRejectAllow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:105,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:110,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:114,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NotPerRouteConfigAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:123,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:126,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:127,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:128,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:135,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:139,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - setPerRouteJwtAudience
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - getJwtToken
    - ASSERT_EQ
    - Return
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, EmptyTokenRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:148,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:162,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - EXPECT_TRUE
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedAppendToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:177,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:195,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 202
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenCopied)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:211,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:229,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:233,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 236
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenOverridden)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<NiceMock<MockFilterConfigParser>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:50,1
    - Dst: std::make_shared<NiceMock<MockFilterConfig>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:51,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:54,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:55,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:57,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:59,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - EXPECT_CALL
    - std::make_shared<NiceMock<MockFilterConfig>>
    - std::make_unique<Filter>
    - std::make_shared<NiceMock<MockFilterConfigParser>>
    - setDecoderFilterCallbacks
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:66,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:69,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:71,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' jwt_audience'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
    - auto::get
    - Return
    - std::make_shared<PerRouteFilterConfig>
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void setPerRouteJwtAudience(const std::string& jwt_audience)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NoRouteRejectAllow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:105,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:110,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:114,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NotPerRouteConfigAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:123,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:126,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:127,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:128,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:135,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:139,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - setPerRouteJwtAudience
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - getJwtToken
    - ASSERT_EQ
    - Return
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, EmptyTokenRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:148,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:162,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - EXPECT_TRUE
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedAppendToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:177,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:195,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 202
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenCopied)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:211,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:229,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:233,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 236
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenOverridden)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<NiceMock<MockFilterConfigParser>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:50,1
    - Dst: std::make_shared<NiceMock<MockFilterConfig>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:51,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:54,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:55,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:57,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:59,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - EXPECT_CALL
    - std::make_shared<NiceMock<MockFilterConfig>>
    - std::make_unique<Filter>
    - std::make_shared<NiceMock<MockFilterConfigParser>>
    - setDecoderFilterCallbacks
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:66,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:69,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:71,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' jwt_audience'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
    - auto::get
    - Return
    - std::make_shared<PerRouteFilterConfig>
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void setPerRouteJwtAudience(const std::string& jwt_audience)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NoRouteRejectAllow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:105,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:110,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:114,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NotPerRouteConfigAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:123,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:126,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:127,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:128,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:135,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:139,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - setPerRouteJwtAudience
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - getJwtToken
    - ASSERT_EQ
    - Return
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, EmptyTokenRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:148,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:162,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - EXPECT_TRUE
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedAppendToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:177,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:195,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 202
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenCopied)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:211,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:229,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:233,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 236
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenOverridden)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<NiceMock<MockFilterConfigParser>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:50,1
    - Dst: std::make_shared<NiceMock<MockFilterConfig>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:51,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:54,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:55,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:57,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:59,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - EXPECT_CALL
    - std::make_shared<NiceMock<MockFilterConfig>>
    - std::make_unique<Filter>
    - std::make_shared<NiceMock<MockFilterConfigParser>>
    - setDecoderFilterCallbacks
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:66,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:69,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:71,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' jwt_audience'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
    - auto::get
    - Return
    - std::make_shared<PerRouteFilterConfig>
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void setPerRouteJwtAudience(const std::string& jwt_audience)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NoRouteRejectAllow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:105,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:110,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:114,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NotPerRouteConfigAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:123,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:126,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:127,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:128,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:135,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:139,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - setPerRouteJwtAudience
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - getJwtToken
    - ASSERT_EQ
    - Return
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, EmptyTokenRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:148,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:162,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - EXPECT_TRUE
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedAppendToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:177,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:195,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 202
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenCopied)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:211,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:229,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:233,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 236
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenOverridden)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<NiceMock<MockFilterConfigParser>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:50,1
    - Dst: std::make_shared<NiceMock<MockFilterConfig>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:51,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:54,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:55,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:57,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:59,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - EXPECT_CALL
    - std::make_shared<NiceMock<MockFilterConfig>>
    - std::make_unique<Filter>
    - std::make_shared<NiceMock<MockFilterConfigParser>>
    - setDecoderFilterCallbacks
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:66,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:69,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:71,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' jwt_audience'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
    - auto::get
    - Return
    - std::make_shared<PerRouteFilterConfig>
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void setPerRouteJwtAudience(const std::string& jwt_audience)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NoRouteRejectAllow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:105,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:110,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:114,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NotPerRouteConfigAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:123,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:126,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:127,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:128,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:135,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:139,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - setPerRouteJwtAudience
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - getJwtToken
    - ASSERT_EQ
    - Return
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, EmptyTokenRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:148,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:162,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - EXPECT_TRUE
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedAppendToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:177,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:195,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 202
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenCopied)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:211,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:229,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:233,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 236
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenOverridden)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<NiceMock<MockFilterConfigParser>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:50,1
    - Dst: std::make_shared<NiceMock<MockFilterConfig>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:51,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:54,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:55,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:57,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:59,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - EXPECT_CALL
    - std::make_shared<NiceMock<MockFilterConfig>>
    - std::make_unique<Filter>
    - std::make_shared<NiceMock<MockFilterConfigParser>>
    - setDecoderFilterCallbacks
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:66,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:69,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:71,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' jwt_audience'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
    - auto::get
    - Return
    - std::make_shared<PerRouteFilterConfig>
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void setPerRouteJwtAudience(const std::string& jwt_audience)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NoRouteRejectAllow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:105,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:110,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:114,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NotPerRouteConfigAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:123,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:126,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:127,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:128,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:135,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:139,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - setPerRouteJwtAudience
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - getJwtToken
    - ASSERT_EQ
    - Return
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, EmptyTokenRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:148,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:162,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - EXPECT_TRUE
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedAppendToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:177,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:195,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 202
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenCopied)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:211,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:229,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:233,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 236
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenOverridden)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<NiceMock<MockFilterConfigParser>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:50,1
    - Dst: std::make_shared<NiceMock<MockFilterConfig>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:51,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:54,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:55,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:57,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:59,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - EXPECT_CALL
    - std::make_shared<NiceMock<MockFilterConfig>>
    - std::make_unique<Filter>
    - std::make_shared<NiceMock<MockFilterConfigParser>>
    - setDecoderFilterCallbacks
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:66,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:69,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:71,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' jwt_audience'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
    - auto::get
    - Return
    - std::make_shared<PerRouteFilterConfig>
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void setPerRouteJwtAudience(const std::string& jwt_audience)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NoRouteRejectAllow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:105,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:110,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:114,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NotPerRouteConfigAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:123,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:126,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:127,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:128,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:135,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:139,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - setPerRouteJwtAudience
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - getJwtToken
    - ASSERT_EQ
    - Return
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, EmptyTokenRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:148,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:162,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - EXPECT_TRUE
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedAppendToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:177,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:195,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 202
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenCopied)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:211,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:229,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:233,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 236
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenOverridden)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<NiceMock<MockFilterConfigParser>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:50,1
    - Dst: std::make_shared<NiceMock<MockFilterConfig>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:51,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:54,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:55,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:57,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:59,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - EXPECT_CALL
    - std::make_shared<NiceMock<MockFilterConfig>>
    - std::make_unique<Filter>
    - std::make_shared<NiceMock<MockFilterConfigParser>>
    - setDecoderFilterCallbacks
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:66,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:69,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:71,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' jwt_audience'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
    - auto::get
    - Return
    - std::make_shared<PerRouteFilterConfig>
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void setPerRouteJwtAudience(const std::string& jwt_audience)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NoRouteRejectAllow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:105,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:110,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:114,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NotPerRouteConfigAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:123,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:126,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:127,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:128,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:135,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:139,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - setPerRouteJwtAudience
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - getJwtToken
    - ASSERT_EQ
    - Return
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, EmptyTokenRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:148,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:162,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - EXPECT_TRUE
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedAppendToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:177,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:195,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 202
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenCopied)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:211,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:229,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:233,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 236
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenOverridden)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<NiceMock<MockFilterConfigParser>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:50,1
    - Dst: std::make_shared<NiceMock<MockFilterConfig>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:51,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:54,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:55,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:57,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:59,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - EXPECT_CALL
    - std::make_shared<NiceMock<MockFilterConfig>>
    - std::make_unique<Filter>
    - std::make_shared<NiceMock<MockFilterConfigParser>>
    - setDecoderFilterCallbacks
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:66,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:69,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:71,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' jwt_audience'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
    - auto::get
    - Return
    - std::make_shared<PerRouteFilterConfig>
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void setPerRouteJwtAudience(const std::string& jwt_audience)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NoRouteRejectAllow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:105,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:110,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:114,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NotPerRouteConfigAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:123,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:126,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:127,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:128,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:135,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:139,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - setPerRouteJwtAudience
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - getJwtToken
    - ASSERT_EQ
    - Return
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, EmptyTokenRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:148,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:162,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - EXPECT_TRUE
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedAppendToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:177,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:195,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 202
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenCopied)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:211,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:229,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:233,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 236
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenOverridden)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<NiceMock<MockFilterConfigParser>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:50,1
    - Dst: std::make_shared<NiceMock<MockFilterConfig>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:51,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:54,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:55,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:57,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:59,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - EXPECT_CALL
    - std::make_shared<NiceMock<MockFilterConfig>>
    - std::make_unique<Filter>
    - std::make_shared<NiceMock<MockFilterConfigParser>>
    - setDecoderFilterCallbacks
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:66,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:69,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:71,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' jwt_audience'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
    - auto::get
    - Return
    - std::make_shared<PerRouteFilterConfig>
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void setPerRouteJwtAudience(const std::string& jwt_audience)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NoRouteRejectAllow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:105,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:110,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:114,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NotPerRouteConfigAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:123,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:126,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:127,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:128,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:135,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:139,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - setPerRouteJwtAudience
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - getJwtToken
    - ASSERT_EQ
    - Return
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, EmptyTokenRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:148,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:162,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - EXPECT_TRUE
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedAppendToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:177,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:195,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 202
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenCopied)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:211,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:229,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:233,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 236
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenOverridden)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<NiceMock<MockFilterConfigParser>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:50,1
    - Dst: std::make_shared<NiceMock<MockFilterConfig>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:51,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:54,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:55,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:57,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:59,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - EXPECT_CALL
    - std::make_shared<NiceMock<MockFilterConfig>>
    - std::make_unique<Filter>
    - std::make_shared<NiceMock<MockFilterConfigParser>>
    - setDecoderFilterCallbacks
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:66,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:69,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:71,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' jwt_audience'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
    - auto::get
    - Return
    - std::make_shared<PerRouteFilterConfig>
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void setPerRouteJwtAudience(const std::string& jwt_audience)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NoRouteRejectAllow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:105,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:110,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:114,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NotPerRouteConfigAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:123,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:126,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:127,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:128,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:135,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:139,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - setPerRouteJwtAudience
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - getJwtToken
    - ASSERT_EQ
    - Return
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, EmptyTokenRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:148,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:162,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - EXPECT_TRUE
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedAppendToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:177,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:195,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 202
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenCopied)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:211,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:229,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:233,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 236
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenOverridden)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<NiceMock<MockFilterConfigParser>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:50,1
    - Dst: std::make_shared<NiceMock<MockFilterConfig>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:51,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:54,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:55,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:57,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:59,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - EXPECT_CALL
    - std::make_shared<NiceMock<MockFilterConfig>>
    - std::make_unique<Filter>
    - std::make_shared<NiceMock<MockFilterConfigParser>>
    - setDecoderFilterCallbacks
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:66,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:69,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:71,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' jwt_audience'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
    - auto::get
    - Return
    - std::make_shared<PerRouteFilterConfig>
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void setPerRouteJwtAudience(const std::string& jwt_audience)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NoRouteRejectAllow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:105,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:110,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:114,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NotPerRouteConfigAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:123,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:126,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:127,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:128,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:135,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:139,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - setPerRouteJwtAudience
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - getJwtToken
    - ASSERT_EQ
    - Return
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, EmptyTokenRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:148,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:162,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - EXPECT_TRUE
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedAppendToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:177,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:195,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 202
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenCopied)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:211,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:229,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:233,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 236
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenOverridden)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<NiceMock<MockFilterConfigParser>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:50,1
    - Dst: std::make_shared<NiceMock<MockFilterConfig>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:51,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:54,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:55,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:57,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:59,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - EXPECT_CALL
    - std::make_shared<NiceMock<MockFilterConfig>>
    - std::make_unique<Filter>
    - std::make_shared<NiceMock<MockFilterConfigParser>>
    - setDecoderFilterCallbacks
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:66,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:69,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:71,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' jwt_audience'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
    - auto::get
    - Return
    - std::make_shared<PerRouteFilterConfig>
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void setPerRouteJwtAudience(const std::string& jwt_audience)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NoRouteRejectAllow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:105,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:110,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:114,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NotPerRouteConfigAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:123,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:126,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:127,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:128,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:135,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:139,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - setPerRouteJwtAudience
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - getJwtToken
    - ASSERT_EQ
    - Return
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, EmptyTokenRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:148,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:162,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - EXPECT_TRUE
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedAppendToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:177,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:195,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 202
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenCopied)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:211,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:229,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:233,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 236
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenOverridden)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<NiceMock<MockFilterConfigParser>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:50,1
    - Dst: std::make_shared<NiceMock<MockFilterConfig>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:51,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:54,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:55,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:57,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:59,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - EXPECT_CALL
    - std::make_shared<NiceMock<MockFilterConfig>>
    - std::make_unique<Filter>
    - std::make_shared<NiceMock<MockFilterConfigParser>>
    - setDecoderFilterCallbacks
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:66,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:69,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:71,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' jwt_audience'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
    - auto::get
    - Return
    - std::make_shared<PerRouteFilterConfig>
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void setPerRouteJwtAudience(const std::string& jwt_audience)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NoRouteRejectAllow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:105,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:110,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:114,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NotPerRouteConfigAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:123,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:126,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:127,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:128,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:135,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:139,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - setPerRouteJwtAudience
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - getJwtToken
    - ASSERT_EQ
    - Return
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, EmptyTokenRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:148,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:162,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - EXPECT_TRUE
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedAppendToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:177,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:195,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 202
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenCopied)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:211,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:229,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:233,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 236
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenOverridden)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<NiceMock<MockFilterConfigParser>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:50,1
    - Dst: std::make_shared<NiceMock<MockFilterConfig>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:51,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:54,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:55,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:57,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:59,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - EXPECT_CALL
    - std::make_shared<NiceMock<MockFilterConfig>>
    - std::make_unique<Filter>
    - std::make_shared<NiceMock<MockFilterConfigParser>>
    - setDecoderFilterCallbacks
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:66,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:69,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:71,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' jwt_audience'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
    - auto::get
    - Return
    - std::make_shared<PerRouteFilterConfig>
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void setPerRouteJwtAudience(const std::string& jwt_audience)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NoRouteRejectAllow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:105,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:110,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:114,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NotPerRouteConfigAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:123,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:126,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:127,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:128,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:135,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:139,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - setPerRouteJwtAudience
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - getJwtToken
    - ASSERT_EQ
    - Return
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, EmptyTokenRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:148,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:162,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - EXPECT_TRUE
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedAppendToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:177,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:195,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 202
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenCopied)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:211,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:229,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:233,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 236
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenOverridden)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<NiceMock<MockFilterConfigParser>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:50,1
    - Dst: std::make_shared<NiceMock<MockFilterConfig>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:51,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:53,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:54,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:55,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:57,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:59,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - EXPECT_CALL
    - std::make_shared<NiceMock<MockFilterConfig>>
    - std::make_unique<Filter>
    - std::make_shared<NiceMock<MockFilterConfigParser>>
    - setDecoderFilterCallbacks
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:66,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:68,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:69,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:70,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:71,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ' jwt_audience'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig::set_jwt_audience
    - auto::get
    - Return
    - std::make_shared<PerRouteFilterConfig>
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void setPerRouteJwtAudience(const std::string& jwt_audience)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:93,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - Return
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NoRouteRejectAllow)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:102,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:104,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:105,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:108,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:110,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:114,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:116,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - ASSERT_EQ
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    - Return
    - mostSpecificPerFilterConfig
    - route
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, NotPerRouteConfigAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:123,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:125,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:126,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:127,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:128,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:133,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:135,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:139,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:141,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::TestUtility::findCounter
    - EXPECT_EQ
    - setPerRouteJwtAudience
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - getJwtToken
    - ASSERT_EQ
    - Return
    - ASSERT_NE
    - Envoy::Stats::CounterSharedPtr::value
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, EmptyTokenRejected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:148,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:150,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:152,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:155,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:157,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:162,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:167,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - EXPECT_TRUE
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedAppendToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:177,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:179,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:181,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:184,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:186,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:188,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:192,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:195,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 202
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenCopied)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteJwtAudience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:211,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:213,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:215,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:218,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:227,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:229,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:233,1
    - Dst: ASSERT_NE
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:234,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    - Dst: Envoy::Stats::CounterSharedPtr::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 236
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - value
    - Envoy::TestUtility::findCounter
    - setPerRouteJwtAudience
    - Envoy::Http::CustomHeaders::get
    - decodeHeaders
    - std::make_shared<std::string>
    - EXPECT_CALL
    - getJwtToken
    - ASSERT_EQ
    - ASSERT_NE
    - Return
    - Envoy::Stats::CounterSharedPtr::value
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST_F(BackendAuthFilterTest, SucceedTokenOverridden)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:42,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:43,1
    - Dst: std::make_shared<TokenCache>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:48,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:53,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:55,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:57,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:58,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:59,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:61,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:65,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:66,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:69,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:73,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:74,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:78,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:80,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:82,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 5
    argNames:
    - ' jwt_audience'
    - ' context'
    - ' filter_config'
    - ' token_subscriber_factory'
    - access_token_fn
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    - FilterConfig
    - token::TokenSubscriberFactory
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - std::make_shared<TokenCache>
    - imds_token
    - iam_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - absl::StrCat
    - ::google::protobuf::RepeatedPtrField<std::string>
    - PANIC
    - createImdsTokenSubscriber
    - serverFactoryContext
    - TimeUtil::DurationToSeconds
    - set
    - id_token_info_case
    - createIamTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void AudienceContext::AudienceContext(\n    const std::string& jwt_audience,\n
      \   Envoy::Server::Configuration::FactoryContext& context,\n    const FilterConfig&
      filter_config,\n    const token::TokenSubscriberFactory& token_subscriber_factory,\n
      \   GetTokenFunc access_token_fn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:98,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:99,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:102,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:104,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:105,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:106,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:108,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:110,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:113,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:118,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:119,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:120,1
    - Dst: jwt_audience_list
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:124,1
    - Dst: AudienceContextPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    - Dst: AudienceContext::AudienceContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' config'
    - ' context'
    - ' token_subscriber_factory'
    argTypes:
    - FilterConfig
    - Envoy::Server::Configuration::FactoryContext
    - token::TokenSubscriberFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - jwt_audience_list
    - std::string
    - iam_token
    - AudienceContextPtr
    - absl::StrCat
    - AudienceContext::AudienceContext
    - PANIC
    - TimeUtil::DurationToSeconds
    - id_token_info_case
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParserImpl::FilterConfigParserImpl(\n    const FilterConfig&
      config,\n    Envoy::Server::Configuration::FactoryContext& context,\n    const
      token::TokenSubscriberFactory& token_subscriber_factory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:42,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:43,1
    - Dst: std::make_shared<TokenCache>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:48,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:53,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:55,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:57,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:58,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:59,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:61,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:65,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:66,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:69,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:73,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:74,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:78,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:80,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:82,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 5
    argNames:
    - ' jwt_audience'
    - ' context'
    - ' filter_config'
    - ' token_subscriber_factory'
    - access_token_fn
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    - FilterConfig
    - token::TokenSubscriberFactory
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - std::make_shared<TokenCache>
    - imds_token
    - iam_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - absl::StrCat
    - ::google::protobuf::RepeatedPtrField<std::string>
    - PANIC
    - createImdsTokenSubscriber
    - serverFactoryContext
    - TimeUtil::DurationToSeconds
    - set
    - id_token_info_case
    - createIamTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void AudienceContext::AudienceContext(\n    const std::string& jwt_audience,\n
      \   Envoy::Server::Configuration::FactoryContext& context,\n    const FilterConfig&
      filter_config,\n    const token::TokenSubscriberFactory& token_subscriber_factory,\n
      \   GetTokenFunc access_token_fn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:98,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:99,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:102,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:104,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:105,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:106,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:108,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:110,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:113,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:118,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:119,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:120,1
    - Dst: jwt_audience_list
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:124,1
    - Dst: AudienceContextPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    - Dst: AudienceContext::AudienceContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' config'
    - ' context'
    - ' token_subscriber_factory'
    argTypes:
    - FilterConfig
    - Envoy::Server::Configuration::FactoryContext
    - token::TokenSubscriberFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - jwt_audience_list
    - std::string
    - iam_token
    - AudienceContextPtr
    - absl::StrCat
    - AudienceContext::AudienceContext
    - PANIC
    - TimeUtil::DurationToSeconds
    - id_token_info_case
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParserImpl::FilterConfigParserImpl(\n    const FilterConfig&
      config,\n    Envoy::Server::Configuration::FactoryContext& context,\n    const
      token::TokenSubscriberFactory& token_subscriber_factory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:42,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:43,1
    - Dst: std::make_shared<TokenCache>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:48,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:53,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:55,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:57,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:58,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:59,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:61,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:65,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:66,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:69,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:73,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:74,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:78,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:80,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:82,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 5
    argNames:
    - ' jwt_audience'
    - ' context'
    - ' filter_config'
    - ' token_subscriber_factory'
    - access_token_fn
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    - FilterConfig
    - token::TokenSubscriberFactory
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - std::make_shared<TokenCache>
    - imds_token
    - iam_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - absl::StrCat
    - ::google::protobuf::RepeatedPtrField<std::string>
    - PANIC
    - createImdsTokenSubscriber
    - serverFactoryContext
    - TimeUtil::DurationToSeconds
    - set
    - id_token_info_case
    - createIamTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void AudienceContext::AudienceContext(\n    const std::string& jwt_audience,\n
      \   Envoy::Server::Configuration::FactoryContext& context,\n    const FilterConfig&
      filter_config,\n    const token::TokenSubscriberFactory& token_subscriber_factory,\n
      \   GetTokenFunc access_token_fn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:98,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:99,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:102,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:104,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:105,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:106,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:108,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:110,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:113,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:118,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:119,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:120,1
    - Dst: jwt_audience_list
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:124,1
    - Dst: AudienceContextPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    - Dst: AudienceContext::AudienceContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' config'
    - ' context'
    - ' token_subscriber_factory'
    argTypes:
    - FilterConfig
    - Envoy::Server::Configuration::FactoryContext
    - token::TokenSubscriberFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - jwt_audience_list
    - std::string
    - iam_token
    - AudienceContextPtr
    - absl::StrCat
    - AudienceContext::AudienceContext
    - PANIC
    - TimeUtil::DurationToSeconds
    - id_token_info_case
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParserImpl::FilterConfigParserImpl(\n    const FilterConfig&
      config,\n    Envoy::Server::Configuration::FactoryContext& context,\n    const
      token::TokenSubscriberFactory& token_subscriber_factory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:42,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:43,1
    - Dst: std::make_shared<TokenCache>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:48,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:53,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:55,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:57,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:58,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:59,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:61,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:65,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:66,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:69,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:73,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:74,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:78,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:80,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:82,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 5
    argNames:
    - ' jwt_audience'
    - ' context'
    - ' filter_config'
    - ' token_subscriber_factory'
    - access_token_fn
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    - FilterConfig
    - token::TokenSubscriberFactory
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - std::make_shared<TokenCache>
    - imds_token
    - iam_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - absl::StrCat
    - ::google::protobuf::RepeatedPtrField<std::string>
    - PANIC
    - createImdsTokenSubscriber
    - serverFactoryContext
    - TimeUtil::DurationToSeconds
    - set
    - id_token_info_case
    - createIamTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void AudienceContext::AudienceContext(\n    const std::string& jwt_audience,\n
      \   Envoy::Server::Configuration::FactoryContext& context,\n    const FilterConfig&
      filter_config,\n    const token::TokenSubscriberFactory& token_subscriber_factory,\n
      \   GetTokenFunc access_token_fn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:98,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:99,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:102,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:104,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:105,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:106,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:108,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:110,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:113,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:118,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:119,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:120,1
    - Dst: jwt_audience_list
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:124,1
    - Dst: AudienceContextPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    - Dst: AudienceContext::AudienceContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' config'
    - ' context'
    - ' token_subscriber_factory'
    argTypes:
    - FilterConfig
    - Envoy::Server::Configuration::FactoryContext
    - token::TokenSubscriberFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - jwt_audience_list
    - std::string
    - iam_token
    - AudienceContextPtr
    - absl::StrCat
    - AudienceContext::AudienceContext
    - PANIC
    - TimeUtil::DurationToSeconds
    - id_token_info_case
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParserImpl::FilterConfigParserImpl(\n    const FilterConfig&
      config,\n    Envoy::Server::Configuration::FactoryContext& context,\n    const
      token::TokenSubscriberFactory& token_subscriber_factory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:42,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:43,1
    - Dst: std::make_shared<TokenCache>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:48,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:53,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:55,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:57,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:58,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:59,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:61,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:65,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:66,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:69,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:73,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:74,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:78,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:80,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:82,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 5
    argNames:
    - ' jwt_audience'
    - ' context'
    - ' filter_config'
    - ' token_subscriber_factory'
    - access_token_fn
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    - FilterConfig
    - token::TokenSubscriberFactory
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - std::make_shared<TokenCache>
    - imds_token
    - iam_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - absl::StrCat
    - ::google::protobuf::RepeatedPtrField<std::string>
    - PANIC
    - createImdsTokenSubscriber
    - serverFactoryContext
    - TimeUtil::DurationToSeconds
    - set
    - id_token_info_case
    - createIamTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void AudienceContext::AudienceContext(\n    const std::string& jwt_audience,\n
      \   Envoy::Server::Configuration::FactoryContext& context,\n    const FilterConfig&
      filter_config,\n    const token::TokenSubscriberFactory& token_subscriber_factory,\n
      \   GetTokenFunc access_token_fn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:98,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:99,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:102,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:104,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:105,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:106,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:108,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:110,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:113,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:118,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:119,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:120,1
    - Dst: jwt_audience_list
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:124,1
    - Dst: AudienceContextPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    - Dst: AudienceContext::AudienceContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' config'
    - ' context'
    - ' token_subscriber_factory'
    argTypes:
    - FilterConfig
    - Envoy::Server::Configuration::FactoryContext
    - token::TokenSubscriberFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - jwt_audience_list
    - std::string
    - iam_token
    - AudienceContextPtr
    - absl::StrCat
    - AudienceContext::AudienceContext
    - PANIC
    - TimeUtil::DurationToSeconds
    - id_token_info_case
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParserImpl::FilterConfigParserImpl(\n    const FilterConfig&
      config,\n    Envoy::Server::Configuration::FactoryContext& context,\n    const
      token::TokenSubscriberFactory& token_subscriber_factory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:42,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:43,1
    - Dst: std::make_shared<TokenCache>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:48,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:53,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:55,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:57,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:58,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:59,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:61,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:65,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:66,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:69,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:73,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:74,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:78,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:80,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:82,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 5
    argNames:
    - ' jwt_audience'
    - ' context'
    - ' filter_config'
    - ' token_subscriber_factory'
    - access_token_fn
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    - FilterConfig
    - token::TokenSubscriberFactory
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - std::make_shared<TokenCache>
    - imds_token
    - iam_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - absl::StrCat
    - ::google::protobuf::RepeatedPtrField<std::string>
    - PANIC
    - createImdsTokenSubscriber
    - serverFactoryContext
    - TimeUtil::DurationToSeconds
    - set
    - id_token_info_case
    - createIamTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void AudienceContext::AudienceContext(\n    const std::string& jwt_audience,\n
      \   Envoy::Server::Configuration::FactoryContext& context,\n    const FilterConfig&
      filter_config,\n    const token::TokenSubscriberFactory& token_subscriber_factory,\n
      \   GetTokenFunc access_token_fn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:98,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:99,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:102,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:104,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:105,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:106,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:108,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:110,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:113,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:118,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:119,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:120,1
    - Dst: jwt_audience_list
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:124,1
    - Dst: AudienceContextPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    - Dst: AudienceContext::AudienceContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' config'
    - ' context'
    - ' token_subscriber_factory'
    argTypes:
    - FilterConfig
    - Envoy::Server::Configuration::FactoryContext
    - token::TokenSubscriberFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - jwt_audience_list
    - std::string
    - iam_token
    - AudienceContextPtr
    - absl::StrCat
    - AudienceContext::AudienceContext
    - PANIC
    - TimeUtil::DurationToSeconds
    - id_token_info_case
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParserImpl::FilterConfigParserImpl(\n    const FilterConfig&
      config,\n    Envoy::Server::Configuration::FactoryContext& context,\n    const
      token::TokenSubscriberFactory& token_subscriber_factory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:42,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:43,1
    - Dst: std::make_shared<TokenCache>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:48,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:53,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:55,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:57,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:58,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:59,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:61,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:65,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:66,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:69,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:73,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:74,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:78,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:80,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:82,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 5
    argNames:
    - ' jwt_audience'
    - ' context'
    - ' filter_config'
    - ' token_subscriber_factory'
    - access_token_fn
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    - FilterConfig
    - token::TokenSubscriberFactory
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - std::make_shared<TokenCache>
    - imds_token
    - iam_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - absl::StrCat
    - ::google::protobuf::RepeatedPtrField<std::string>
    - PANIC
    - createImdsTokenSubscriber
    - serverFactoryContext
    - TimeUtil::DurationToSeconds
    - set
    - id_token_info_case
    - createIamTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void AudienceContext::AudienceContext(\n    const std::string& jwt_audience,\n
      \   Envoy::Server::Configuration::FactoryContext& context,\n    const FilterConfig&
      filter_config,\n    const token::TokenSubscriberFactory& token_subscriber_factory,\n
      \   GetTokenFunc access_token_fn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:98,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:99,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:102,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:104,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:105,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:106,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:108,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:110,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:113,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:118,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:119,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:120,1
    - Dst: jwt_audience_list
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:124,1
    - Dst: AudienceContextPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    - Dst: AudienceContext::AudienceContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' config'
    - ' context'
    - ' token_subscriber_factory'
    argTypes:
    - FilterConfig
    - Envoy::Server::Configuration::FactoryContext
    - token::TokenSubscriberFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - jwt_audience_list
    - std::string
    - iam_token
    - AudienceContextPtr
    - absl::StrCat
    - AudienceContext::AudienceContext
    - PANIC
    - TimeUtil::DurationToSeconds
    - id_token_info_case
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParserImpl::FilterConfigParserImpl(\n    const FilterConfig&
      config,\n    Envoy::Server::Configuration::FactoryContext& context,\n    const
      token::TokenSubscriberFactory& token_subscriber_factory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:42,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:43,1
    - Dst: std::make_shared<TokenCache>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:48,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:53,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:55,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:57,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:58,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:59,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:61,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:65,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:66,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:69,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:73,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:74,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:78,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:80,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:82,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 5
    argNames:
    - ' jwt_audience'
    - ' context'
    - ' filter_config'
    - ' token_subscriber_factory'
    - access_token_fn
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    - FilterConfig
    - token::TokenSubscriberFactory
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - std::make_shared<TokenCache>
    - imds_token
    - iam_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - absl::StrCat
    - ::google::protobuf::RepeatedPtrField<std::string>
    - PANIC
    - createImdsTokenSubscriber
    - serverFactoryContext
    - TimeUtil::DurationToSeconds
    - set
    - id_token_info_case
    - createIamTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void AudienceContext::AudienceContext(\n    const std::string& jwt_audience,\n
      \   Envoy::Server::Configuration::FactoryContext& context,\n    const FilterConfig&
      filter_config,\n    const token::TokenSubscriberFactory& token_subscriber_factory,\n
      \   GetTokenFunc access_token_fn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:98,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:99,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:102,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:104,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:105,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:106,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:108,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:110,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:113,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:118,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:119,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:120,1
    - Dst: jwt_audience_list
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:124,1
    - Dst: AudienceContextPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    - Dst: AudienceContext::AudienceContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' config'
    - ' context'
    - ' token_subscriber_factory'
    argTypes:
    - FilterConfig
    - Envoy::Server::Configuration::FactoryContext
    - token::TokenSubscriberFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - jwt_audience_list
    - std::string
    - iam_token
    - AudienceContextPtr
    - absl::StrCat
    - AudienceContext::AudienceContext
    - PANIC
    - TimeUtil::DurationToSeconds
    - id_token_info_case
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParserImpl::FilterConfigParserImpl(\n    const FilterConfig&
      config,\n    Envoy::Server::Configuration::FactoryContext& context,\n    const
      token::TokenSubscriberFactory& token_subscriber_factory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:42,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:43,1
    - Dst: std::make_shared<TokenCache>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:48,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:53,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:55,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:57,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:58,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:59,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:61,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:65,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:66,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:69,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:73,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:74,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:78,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:80,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:82,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 5
    argNames:
    - ' jwt_audience'
    - ' context'
    - ' filter_config'
    - ' token_subscriber_factory'
    - access_token_fn
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    - FilterConfig
    - token::TokenSubscriberFactory
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - std::make_shared<TokenCache>
    - imds_token
    - iam_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - absl::StrCat
    - ::google::protobuf::RepeatedPtrField<std::string>
    - PANIC
    - createImdsTokenSubscriber
    - serverFactoryContext
    - TimeUtil::DurationToSeconds
    - set
    - id_token_info_case
    - createIamTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void AudienceContext::AudienceContext(\n    const std::string& jwt_audience,\n
      \   Envoy::Server::Configuration::FactoryContext& context,\n    const FilterConfig&
      filter_config,\n    const token::TokenSubscriberFactory& token_subscriber_factory,\n
      \   GetTokenFunc access_token_fn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:98,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:99,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:102,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:104,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:105,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:106,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:108,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:110,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:113,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:118,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:119,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:120,1
    - Dst: jwt_audience_list
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:124,1
    - Dst: AudienceContextPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    - Dst: AudienceContext::AudienceContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' config'
    - ' context'
    - ' token_subscriber_factory'
    argTypes:
    - FilterConfig
    - Envoy::Server::Configuration::FactoryContext
    - token::TokenSubscriberFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - jwt_audience_list
    - std::string
    - iam_token
    - AudienceContextPtr
    - absl::StrCat
    - AudienceContext::AudienceContext
    - PANIC
    - TimeUtil::DurationToSeconds
    - id_token_info_case
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParserImpl::FilterConfigParserImpl(\n    const FilterConfig&
      config,\n    Envoy::Server::Configuration::FactoryContext& context,\n    const
      token::TokenSubscriberFactory& token_subscriber_factory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:42,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:43,1
    - Dst: std::make_shared<TokenCache>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:48,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:53,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:55,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:57,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:58,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:59,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:61,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:65,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:66,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:69,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:73,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:74,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:78,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:80,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:82,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 5
    argNames:
    - ' jwt_audience'
    - ' context'
    - ' filter_config'
    - ' token_subscriber_factory'
    - access_token_fn
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    - FilterConfig
    - token::TokenSubscriberFactory
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - std::make_shared<TokenCache>
    - imds_token
    - iam_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - absl::StrCat
    - ::google::protobuf::RepeatedPtrField<std::string>
    - PANIC
    - createImdsTokenSubscriber
    - serverFactoryContext
    - TimeUtil::DurationToSeconds
    - set
    - id_token_info_case
    - createIamTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void AudienceContext::AudienceContext(\n    const std::string& jwt_audience,\n
      \   Envoy::Server::Configuration::FactoryContext& context,\n    const FilterConfig&
      filter_config,\n    const token::TokenSubscriberFactory& token_subscriber_factory,\n
      \   GetTokenFunc access_token_fn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:98,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:99,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:102,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:104,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:105,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:106,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:108,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:110,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:113,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:118,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:119,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:120,1
    - Dst: jwt_audience_list
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:124,1
    - Dst: AudienceContextPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    - Dst: AudienceContext::AudienceContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' config'
    - ' context'
    - ' token_subscriber_factory'
    argTypes:
    - FilterConfig
    - Envoy::Server::Configuration::FactoryContext
    - token::TokenSubscriberFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - jwt_audience_list
    - std::string
    - iam_token
    - AudienceContextPtr
    - absl::StrCat
    - AudienceContext::AudienceContext
    - PANIC
    - TimeUtil::DurationToSeconds
    - id_token_info_case
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParserImpl::FilterConfigParserImpl(\n    const FilterConfig&
      config,\n    Envoy::Server::Configuration::FactoryContext& context,\n    const
      token::TokenSubscriberFactory& token_subscriber_factory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:42,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:43,1
    - Dst: std::make_shared<TokenCache>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:48,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:53,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:55,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:57,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:58,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:59,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:61,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:65,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:66,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:69,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:73,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:74,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:78,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:80,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:82,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 5
    argNames:
    - ' jwt_audience'
    - ' context'
    - ' filter_config'
    - ' token_subscriber_factory'
    - access_token_fn
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    - FilterConfig
    - token::TokenSubscriberFactory
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - std::make_shared<TokenCache>
    - imds_token
    - iam_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - absl::StrCat
    - ::google::protobuf::RepeatedPtrField<std::string>
    - PANIC
    - createImdsTokenSubscriber
    - serverFactoryContext
    - TimeUtil::DurationToSeconds
    - set
    - id_token_info_case
    - createIamTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void AudienceContext::AudienceContext(\n    const std::string& jwt_audience,\n
      \   Envoy::Server::Configuration::FactoryContext& context,\n    const FilterConfig&
      filter_config,\n    const token::TokenSubscriberFactory& token_subscriber_factory,\n
      \   GetTokenFunc access_token_fn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:98,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:99,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:102,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:104,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:105,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:106,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:108,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:110,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:113,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:118,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:119,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:120,1
    - Dst: jwt_audience_list
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:124,1
    - Dst: AudienceContextPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    - Dst: AudienceContext::AudienceContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' config'
    - ' context'
    - ' token_subscriber_factory'
    argTypes:
    - FilterConfig
    - Envoy::Server::Configuration::FactoryContext
    - token::TokenSubscriberFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - jwt_audience_list
    - std::string
    - iam_token
    - AudienceContextPtr
    - absl::StrCat
    - AudienceContext::AudienceContext
    - PANIC
    - TimeUtil::DurationToSeconds
    - id_token_info_case
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParserImpl::FilterConfigParserImpl(\n    const FilterConfig&
      config,\n    Envoy::Server::Configuration::FactoryContext& context,\n    const
      token::TokenSubscriberFactory& token_subscriber_factory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:42,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:43,1
    - Dst: std::make_shared<TokenCache>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:48,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:53,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:55,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:57,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:58,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:59,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:61,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:65,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:66,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:69,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:73,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:74,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:78,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:80,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:82,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 5
    argNames:
    - ' jwt_audience'
    - ' context'
    - ' filter_config'
    - ' token_subscriber_factory'
    - access_token_fn
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    - FilterConfig
    - token::TokenSubscriberFactory
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - std::make_shared<TokenCache>
    - imds_token
    - iam_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - absl::StrCat
    - ::google::protobuf::RepeatedPtrField<std::string>
    - PANIC
    - createImdsTokenSubscriber
    - serverFactoryContext
    - TimeUtil::DurationToSeconds
    - set
    - id_token_info_case
    - createIamTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void AudienceContext::AudienceContext(\n    const std::string& jwt_audience,\n
      \   Envoy::Server::Configuration::FactoryContext& context,\n    const FilterConfig&
      filter_config,\n    const token::TokenSubscriberFactory& token_subscriber_factory,\n
      \   GetTokenFunc access_token_fn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:98,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:99,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:102,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:104,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:105,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:106,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:108,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:110,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:113,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:118,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:119,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:120,1
    - Dst: jwt_audience_list
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:124,1
    - Dst: AudienceContextPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    - Dst: AudienceContext::AudienceContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' config'
    - ' context'
    - ' token_subscriber_factory'
    argTypes:
    - FilterConfig
    - Envoy::Server::Configuration::FactoryContext
    - token::TokenSubscriberFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - jwt_audience_list
    - std::string
    - iam_token
    - AudienceContextPtr
    - absl::StrCat
    - AudienceContext::AudienceContext
    - PANIC
    - TimeUtil::DurationToSeconds
    - id_token_info_case
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParserImpl::FilterConfigParserImpl(\n    const FilterConfig&
      config,\n    Envoy::Server::Configuration::FactoryContext& context,\n    const
      token::TokenSubscriberFactory& token_subscriber_factory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:42,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:43,1
    - Dst: std::make_shared<TokenCache>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:48,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:53,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:55,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:57,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:58,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:59,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:61,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:65,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:66,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:69,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:73,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:74,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:78,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:80,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:82,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 5
    argNames:
    - ' jwt_audience'
    - ' context'
    - ' filter_config'
    - ' token_subscriber_factory'
    - access_token_fn
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    - FilterConfig
    - token::TokenSubscriberFactory
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - std::make_shared<TokenCache>
    - imds_token
    - iam_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - absl::StrCat
    - ::google::protobuf::RepeatedPtrField<std::string>
    - PANIC
    - createImdsTokenSubscriber
    - serverFactoryContext
    - TimeUtil::DurationToSeconds
    - set
    - id_token_info_case
    - createIamTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void AudienceContext::AudienceContext(\n    const std::string& jwt_audience,\n
      \   Envoy::Server::Configuration::FactoryContext& context,\n    const FilterConfig&
      filter_config,\n    const token::TokenSubscriberFactory& token_subscriber_factory,\n
      \   GetTokenFunc access_token_fn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:98,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:99,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:102,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:104,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:105,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:106,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:108,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:110,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:113,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:118,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:119,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:120,1
    - Dst: jwt_audience_list
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:124,1
    - Dst: AudienceContextPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    - Dst: AudienceContext::AudienceContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' config'
    - ' context'
    - ' token_subscriber_factory'
    argTypes:
    - FilterConfig
    - Envoy::Server::Configuration::FactoryContext
    - token::TokenSubscriberFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - jwt_audience_list
    - std::string
    - iam_token
    - AudienceContextPtr
    - absl::StrCat
    - AudienceContext::AudienceContext
    - PANIC
    - TimeUtil::DurationToSeconds
    - id_token_info_case
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParserImpl::FilterConfigParserImpl(\n    const FilterConfig&
      config,\n    Envoy::Server::Configuration::FactoryContext& context,\n    const
      token::TokenSubscriberFactory& token_subscriber_factory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:42,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:43,1
    - Dst: std::make_shared<TokenCache>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:48,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:53,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:55,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:57,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:58,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:59,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:61,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:65,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:66,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:69,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:73,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:74,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:78,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:80,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:82,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 5
    argNames:
    - ' jwt_audience'
    - ' context'
    - ' filter_config'
    - ' token_subscriber_factory'
    - access_token_fn
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    - FilterConfig
    - token::TokenSubscriberFactory
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - std::make_shared<TokenCache>
    - imds_token
    - iam_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - absl::StrCat
    - ::google::protobuf::RepeatedPtrField<std::string>
    - PANIC
    - createImdsTokenSubscriber
    - serverFactoryContext
    - TimeUtil::DurationToSeconds
    - set
    - id_token_info_case
    - createIamTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void AudienceContext::AudienceContext(\n    const std::string& jwt_audience,\n
      \   Envoy::Server::Configuration::FactoryContext& context,\n    const FilterConfig&
      filter_config,\n    const token::TokenSubscriberFactory& token_subscriber_factory,\n
      \   GetTokenFunc access_token_fn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:98,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:99,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:102,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:104,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:105,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:106,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:108,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:110,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:113,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:118,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:119,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:120,1
    - Dst: jwt_audience_list
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:124,1
    - Dst: AudienceContextPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    - Dst: AudienceContext::AudienceContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' config'
    - ' context'
    - ' token_subscriber_factory'
    argTypes:
    - FilterConfig
    - Envoy::Server::Configuration::FactoryContext
    - token::TokenSubscriberFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - jwt_audience_list
    - std::string
    - iam_token
    - AudienceContextPtr
    - absl::StrCat
    - AudienceContext::AudienceContext
    - PANIC
    - TimeUtil::DurationToSeconds
    - id_token_info_case
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParserImpl::FilterConfigParserImpl(\n    const FilterConfig&
      config,\n    Envoy::Server::Configuration::FactoryContext& context,\n    const
      token::TokenSubscriberFactory& token_subscriber_factory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:42,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:43,1
    - Dst: std::make_shared<TokenCache>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:48,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:53,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:55,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:57,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:58,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:59,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:61,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:65,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:66,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:69,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:73,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:74,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:78,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:80,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:82,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 5
    argNames:
    - ' jwt_audience'
    - ' context'
    - ' filter_config'
    - ' token_subscriber_factory'
    - access_token_fn
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    - FilterConfig
    - token::TokenSubscriberFactory
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - std::make_shared<TokenCache>
    - imds_token
    - iam_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - absl::StrCat
    - ::google::protobuf::RepeatedPtrField<std::string>
    - PANIC
    - createImdsTokenSubscriber
    - serverFactoryContext
    - TimeUtil::DurationToSeconds
    - set
    - id_token_info_case
    - createIamTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void AudienceContext::AudienceContext(\n    const std::string& jwt_audience,\n
      \   Envoy::Server::Configuration::FactoryContext& context,\n    const FilterConfig&
      filter_config,\n    const token::TokenSubscriberFactory& token_subscriber_factory,\n
      \   GetTokenFunc access_token_fn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:98,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:99,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:102,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:104,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:105,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:106,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:108,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:110,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:113,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:118,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:119,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:120,1
    - Dst: jwt_audience_list
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:124,1
    - Dst: AudienceContextPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    - Dst: AudienceContext::AudienceContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' config'
    - ' context'
    - ' token_subscriber_factory'
    argTypes:
    - FilterConfig
    - Envoy::Server::Configuration::FactoryContext
    - token::TokenSubscriberFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - jwt_audience_list
    - std::string
    - iam_token
    - AudienceContextPtr
    - absl::StrCat
    - AudienceContext::AudienceContext
    - PANIC
    - TimeUtil::DurationToSeconds
    - id_token_info_case
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParserImpl::FilterConfigParserImpl(\n    const FilterConfig&
      config,\n    Envoy::Server::Configuration::FactoryContext& context,\n    const
      token::TokenSubscriberFactory& token_subscriber_factory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:42,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:43,1
    - Dst: std::make_shared<TokenCache>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:48,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:53,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:55,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:57,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:58,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:59,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:61,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:65,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:66,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:69,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:73,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:74,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:76,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:78,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:80,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:82,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:88,1
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 5
    argNames:
    - ' jwt_audience'
    - ' context'
    - ' filter_config'
    - ' token_subscriber_factory'
    - access_token_fn
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    - FilterConfig
    - token::TokenSubscriberFactory
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - std::make_shared<TokenCache>
    - imds_token
    - iam_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - absl::StrCat
    - ::google::protobuf::RepeatedPtrField<std::string>
    - PANIC
    - createImdsTokenSubscriber
    - serverFactoryContext
    - TimeUtil::DurationToSeconds
    - set
    - id_token_info_case
    - createIamTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void AudienceContext::AudienceContext(\n    const std::string& jwt_audience,\n
      \   Envoy::Server::Configuration::FactoryContext& context,\n    const FilterConfig&
      filter_config,\n    const token::TokenSubscriberFactory& token_subscriber_factory,\n
      \   GetTokenFunc access_token_fn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: id_token_info_case
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:98,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:99,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:102,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:104,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:105,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:106,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:108,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:110,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:113,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:118,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:119,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:120,1
    - Dst: jwt_audience_list
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:124,1
    - Dst: AudienceContextPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    - Dst: AudienceContext::AudienceContext
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' config'
    - ' context'
    - ' token_subscriber_factory'
    argTypes:
    - FilterConfig
    - Envoy::Server::Configuration::FactoryContext
    - token::TokenSubscriberFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - jwt_audience_list
    - std::string
    - iam_token
    - AudienceContextPtr
    - absl::StrCat
    - AudienceContext::AudienceContext
    - PANIC
    - TimeUtil::DurationToSeconds
    - id_token_info_case
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParserImpl::FilterConfigParserImpl(\n    const FilterConfig&
      config,\n    Envoy::Server::Configuration::FactoryContext& context,\n    const
      token::TokenSubscriberFactory& token_subscriber_factory)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:55,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:59,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:64,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:67,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: auto*::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:73,1
    - Dst: cfg_parser
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:74,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:77,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:79,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:80,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: remove
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:92,1
    - Dst: addCopy
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:94,1
    - Dst: Envoy::Http::HeaderEntry*::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:95,1
    - Dst: setInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 101
    functionName: espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 0
    functionsReached:
    - addCopy
    - auto*::jwt_audience
    - stats
    - getInline
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    - remove
    - Envoy::Http::HeaderEntry*::value
    - setInline
    - ENVOY_LOG
    - cfg_parser
    - handle
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:105,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 1
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:55,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:59,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:64,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:67,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: auto*::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:73,1
    - Dst: cfg_parser
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:74,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:77,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:79,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:80,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: remove
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:92,1
    - Dst: addCopy
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:94,1
    - Dst: Envoy::Http::HeaderEntry*::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:95,1
    - Dst: setInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 101
    functionName: espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 0
    functionsReached:
    - addCopy
    - auto*::jwt_audience
    - stats
    - getInline
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    - remove
    - Envoy::Http::HeaderEntry*::value
    - setInline
    - ENVOY_LOG
    - cfg_parser
    - handle
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:105,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 2
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:55,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:59,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:64,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:67,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: auto*::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:73,1
    - Dst: cfg_parser
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:74,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:77,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:79,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:80,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: remove
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:92,1
    - Dst: addCopy
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:94,1
    - Dst: Envoy::Http::HeaderEntry*::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:95,1
    - Dst: setInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 101
    functionName: espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 0
    functionsReached:
    - addCopy
    - auto*::jwt_audience
    - stats
    - getInline
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    - remove
    - Envoy::Http::HeaderEntry*::value
    - setInline
    - ENVOY_LOG
    - cfg_parser
    - handle
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:105,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 3
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:55,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:59,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:64,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:67,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: auto*::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:73,1
    - Dst: cfg_parser
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:74,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:77,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:79,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:80,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: remove
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:92,1
    - Dst: addCopy
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:94,1
    - Dst: Envoy::Http::HeaderEntry*::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:95,1
    - Dst: setInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 101
    functionName: espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 0
    functionsReached:
    - addCopy
    - auto*::jwt_audience
    - stats
    - getInline
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    - remove
    - Envoy::Http::HeaderEntry*::value
    - setInline
    - ENVOY_LOG
    - cfg_parser
    - handle
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:105,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 4
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:55,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:59,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:64,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:67,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: auto*::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:73,1
    - Dst: cfg_parser
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:74,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:77,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:79,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:80,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: remove
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:92,1
    - Dst: addCopy
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:94,1
    - Dst: Envoy::Http::HeaderEntry*::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:95,1
    - Dst: setInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 101
    functionName: espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 0
    functionsReached:
    - addCopy
    - auto*::jwt_audience
    - stats
    - getInline
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    - remove
    - Envoy::Http::HeaderEntry*::value
    - setInline
    - ENVOY_LOG
    - cfg_parser
    - handle
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:105,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 5
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:55,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:59,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:64,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:67,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: auto*::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:73,1
    - Dst: cfg_parser
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:74,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:77,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:79,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:80,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: remove
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:92,1
    - Dst: addCopy
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:94,1
    - Dst: Envoy::Http::HeaderEntry*::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:95,1
    - Dst: setInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 101
    functionName: espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 0
    functionsReached:
    - addCopy
    - auto*::jwt_audience
    - stats
    - getInline
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    - remove
    - Envoy::Http::HeaderEntry*::value
    - setInline
    - ENVOY_LOG
    - cfg_parser
    - handle
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:105,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 6
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:55,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:59,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:64,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:67,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: auto*::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:73,1
    - Dst: cfg_parser
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:74,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:77,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:79,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:80,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: remove
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:92,1
    - Dst: addCopy
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:94,1
    - Dst: Envoy::Http::HeaderEntry*::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:95,1
    - Dst: setInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 101
    functionName: espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 0
    functionsReached:
    - addCopy
    - auto*::jwt_audience
    - stats
    - getInline
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    - remove
    - Envoy::Http::HeaderEntry*::value
    - setInline
    - ENVOY_LOG
    - cfg_parser
    - handle
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:105,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 7
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:55,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:59,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:64,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:67,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: auto*::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:73,1
    - Dst: cfg_parser
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:74,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:77,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:79,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:80,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: remove
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:92,1
    - Dst: addCopy
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:94,1
    - Dst: Envoy::Http::HeaderEntry*::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:95,1
    - Dst: setInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 101
    functionName: espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 0
    functionsReached:
    - addCopy
    - auto*::jwt_audience
    - stats
    - getInline
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    - remove
    - Envoy::Http::HeaderEntry*::value
    - setInline
    - ENVOY_LOG
    - cfg_parser
    - handle
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:105,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 8
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:55,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:59,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:64,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:67,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: auto*::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:73,1
    - Dst: cfg_parser
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:74,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:77,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:79,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:80,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: remove
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:92,1
    - Dst: addCopy
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:94,1
    - Dst: Envoy::Http::HeaderEntry*::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:95,1
    - Dst: setInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 101
    functionName: espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 0
    functionsReached:
    - addCopy
    - auto*::jwt_audience
    - stats
    - getInline
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    - remove
    - Envoy::Http::HeaderEntry*::value
    - setInline
    - ENVOY_LOG
    - cfg_parser
    - handle
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:105,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 9
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:55,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:59,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:64,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:67,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: auto*::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:73,1
    - Dst: cfg_parser
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:74,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:77,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:79,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:80,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: remove
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:92,1
    - Dst: addCopy
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:94,1
    - Dst: Envoy::Http::HeaderEntry*::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:95,1
    - Dst: setInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 101
    functionName: espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 0
    functionsReached:
    - addCopy
    - auto*::jwt_audience
    - stats
    - getInline
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    - remove
    - Envoy::Http::HeaderEntry*::value
    - setInline
    - ENVOY_LOG
    - cfg_parser
    - handle
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:105,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 10
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:55,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:59,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:64,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:67,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: auto*::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:73,1
    - Dst: cfg_parser
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:74,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:77,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:79,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:80,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: remove
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:92,1
    - Dst: addCopy
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:94,1
    - Dst: Envoy::Http::HeaderEntry*::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:95,1
    - Dst: setInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 101
    functionName: espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 0
    functionsReached:
    - addCopy
    - auto*::jwt_audience
    - stats
    - getInline
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    - remove
    - Envoy::Http::HeaderEntry*::value
    - setInline
    - ENVOY_LOG
    - cfg_parser
    - handle
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:105,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 11
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:55,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:59,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:64,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:67,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: auto*::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:73,1
    - Dst: cfg_parser
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:74,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:77,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:79,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:80,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: remove
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:92,1
    - Dst: addCopy
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:94,1
    - Dst: Envoy::Http::HeaderEntry*::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:95,1
    - Dst: setInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 101
    functionName: espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 0
    functionsReached:
    - addCopy
    - auto*::jwt_audience
    - stats
    - getInline
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    - remove
    - Envoy::Http::HeaderEntry*::value
    - setInline
    - ENVOY_LOG
    - cfg_parser
    - handle
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:105,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 12
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:55,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:59,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:64,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:67,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: auto*::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:73,1
    - Dst: cfg_parser
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:74,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:77,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:79,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:80,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: remove
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:92,1
    - Dst: addCopy
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:94,1
    - Dst: Envoy::Http::HeaderEntry*::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:95,1
    - Dst: setInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 101
    functionName: espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 0
    functionsReached:
    - addCopy
    - auto*::jwt_audience
    - stats
    - getInline
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    - remove
    - Envoy::Http::HeaderEntry*::value
    - setInline
    - ENVOY_LOG
    - cfg_parser
    - handle
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:105,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 13
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:55,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:59,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:64,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:67,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: auto*::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:73,1
    - Dst: cfg_parser
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:74,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:77,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:79,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:80,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: remove
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:92,1
    - Dst: addCopy
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:94,1
    - Dst: Envoy::Http::HeaderEntry*::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:95,1
    - Dst: setInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 101
    functionName: espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 0
    functionsReached:
    - addCopy
    - auto*::jwt_audience
    - stats
    - getInline
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    - remove
    - Envoy::Http::HeaderEntry*::value
    - setInline
    - ENVOY_LOG
    - cfg_parser
    - handle
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:105,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 14
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:55,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:59,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:64,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:67,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: auto*::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:73,1
    - Dst: cfg_parser
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:74,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:77,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:79,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:80,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: remove
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:92,1
    - Dst: addCopy
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:94,1
    - Dst: Envoy::Http::HeaderEntry*::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:95,1
    - Dst: setInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 101
    functionName: espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 0
    functionsReached:
    - addCopy
    - auto*::jwt_audience
    - stats
    - getInline
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    - remove
    - Envoy::Http::HeaderEntry*::value
    - setInline
    - ENVOY_LOG
    - cfg_parser
    - handle
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:105,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 15
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:55,1
    - Dst: auto::routeEntry
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:59,1
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:64,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:67,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:68,1
    - Dst: auto*::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:73,1
    - Dst: cfg_parser
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:74,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:76,1
    - Dst: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:77,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:79,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:80,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:88,1
    - Dst: remove
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:92,1
    - Dst: addCopy
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:94,1
    - Dst: Envoy::Http::HeaderEntry*::value
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:95,1
    - Dst: setInline
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:98,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 101
    functionName: espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 0
    functionsReached:
    - addCopy
    - auto*::jwt_audience
    - stats
    - getInline
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    - absl::StrCat
    - inc
    - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    - remove
    - Envoy::Http::HeaderEntry*::value
    - setInline
    - ENVOY_LOG
    - cfg_parser
    - handle
    - auto::routeEntry
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: FilterHeadersStatus
    signature: FilterHeadersStatus Filter::decodeHeaders(RequestHeaderMap& headers,
      bool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:105,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter.cc:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - code
    - error_msg
    - details
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
    functionUses: 16
    functionsReached:
    - ENVOY_LOG
    - sendLocalReply
    linkageType: ''
    returnType: void
    signature: "void Filter::rejectRequest(Envoy::Http::Code code, absl::string_view
      error_msg,\n                           absl::string_view details)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~FilterConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(\n      const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view jwt_audience() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~FilterConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(\n      const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view jwt_audience() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~FilterConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(\n      const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view jwt_audience() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~FilterConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(\n      const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view jwt_audience() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~FilterConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(\n      const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view jwt_audience() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~FilterConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(\n      const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view jwt_audience() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~FilterConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(\n      const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view jwt_audience() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~FilterConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(\n      const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view jwt_audience() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~FilterConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(\n      const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view jwt_audience() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~FilterConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(\n      const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view jwt_audience() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~FilterConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(\n      const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view jwt_audience() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~FilterConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(\n      const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view jwt_audience() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~FilterConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(\n      const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view jwt_audience() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~FilterConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(\n      const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view jwt_audience() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~FilterConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(\n      const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view jwt_audience() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: ~FilterConfigParser()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfigParser()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(\n      const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view jwt_audience() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ALL_BACKEND_AUTH_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_BACKEND_AUTH_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~FilterConfig()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ALL_BACKEND_AUTH_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_BACKEND_AUTH_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~FilterConfig()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ALL_BACKEND_AUTH_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_BACKEND_AUTH_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~FilterConfig()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ALL_BACKEND_AUTH_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_BACKEND_AUTH_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~FilterConfig()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ALL_BACKEND_AUTH_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_BACKEND_AUTH_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~FilterConfig()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ALL_BACKEND_AUTH_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_BACKEND_AUTH_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~FilterConfig()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ALL_BACKEND_AUTH_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_BACKEND_AUTH_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~FilterConfig()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ALL_BACKEND_AUTH_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_BACKEND_AUTH_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~FilterConfig()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ALL_BACKEND_AUTH_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_BACKEND_AUTH_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~FilterConfig()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ALL_BACKEND_AUTH_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_BACKEND_AUTH_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~FilterConfig()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ALL_BACKEND_AUTH_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_BACKEND_AUTH_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~FilterConfig()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ALL_BACKEND_AUTH_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_BACKEND_AUTH_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~FilterConfig()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ALL_BACKEND_AUTH_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_BACKEND_AUTH_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~FilterConfig()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ALL_BACKEND_AUTH_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_BACKEND_AUTH_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~FilterConfig()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ALL_BACKEND_AUTH_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_BACKEND_AUTH_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~FilterConfig()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: ALL_BACKEND_AUTH_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_BACKEND_AUTH_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: ~FilterConfig()
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~FilterConfig()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfigImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:48,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - std::make_shared<FilterConfigImpl>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n          proto_config,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfigImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:48,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - std::make_shared<FilterConfigImpl>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n          proto_config,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfigImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:48,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - std::make_shared<FilterConfigImpl>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n          proto_config,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfigImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:48,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - std::make_shared<FilterConfigImpl>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n          proto_config,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfigImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:48,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - std::make_shared<FilterConfigImpl>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n          proto_config,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfigImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:48,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - std::make_shared<FilterConfigImpl>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n          proto_config,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfigImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:48,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - std::make_shared<FilterConfigImpl>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n          proto_config,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfigImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:48,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - std::make_shared<FilterConfigImpl>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n          proto_config,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfigImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:48,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - std::make_shared<FilterConfigImpl>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n          proto_config,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfigImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:48,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - std::make_shared<FilterConfigImpl>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n          proto_config,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfigImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:48,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - std::make_shared<FilterConfigImpl>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n          proto_config,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfigImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:48,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - std::make_shared<FilterConfigImpl>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n          proto_config,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfigImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:48,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - std::make_shared<FilterConfigImpl>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n          proto_config,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfigImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:48,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - std::make_shared<FilterConfigImpl>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n          proto_config,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfigImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:48,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - std::make_shared<FilterConfigImpl>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n          proto_config,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfigImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:48,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - std::make_shared<FilterConfigImpl>
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n          proto_config,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - "\n          per_route"
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::backend_auth::PerRouteFilterConfig&\n
      \         per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n
      \     Envoy::ProtobufMessage::ValidationVisitor&) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    - std::make_unique<FilterConfigParserImpl>
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfigImpl(\n      const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    signature: "::espv2::api::envoy::v12::http::backend_auth::FilterConfig & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& stats() override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '& cfg_parser() const override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterConfigParser
    signature: FilterConfigParser & cfg_parser() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_BACKEND_AUTH_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 1
    functionsReached:
    - ALL_BACKEND_AUTH_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    - std::make_unique<FilterConfigParserImpl>
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfigImpl(\n      const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    signature: "::espv2::api::envoy::v12::http::backend_auth::FilterConfig & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& stats() override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '& cfg_parser() const override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterConfigParser
    signature: FilterConfigParser & cfg_parser() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_BACKEND_AUTH_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 2
    functionsReached:
    - ALL_BACKEND_AUTH_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    - std::make_unique<FilterConfigParserImpl>
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfigImpl(\n      const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    signature: "::espv2::api::envoy::v12::http::backend_auth::FilterConfig & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& stats() override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '& cfg_parser() const override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterConfigParser
    signature: FilterConfigParser & cfg_parser() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_BACKEND_AUTH_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 3
    functionsReached:
    - ALL_BACKEND_AUTH_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    - std::make_unique<FilterConfigParserImpl>
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfigImpl(\n      const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    signature: "::espv2::api::envoy::v12::http::backend_auth::FilterConfig & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& stats() override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '& cfg_parser() const override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterConfigParser
    signature: FilterConfigParser & cfg_parser() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_BACKEND_AUTH_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 4
    functionsReached:
    - ALL_BACKEND_AUTH_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    - std::make_unique<FilterConfigParserImpl>
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfigImpl(\n      const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    signature: "::espv2::api::envoy::v12::http::backend_auth::FilterConfig & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& stats() override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '& cfg_parser() const override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterConfigParser
    signature: FilterConfigParser & cfg_parser() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_BACKEND_AUTH_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 5
    functionsReached:
    - ALL_BACKEND_AUTH_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    - std::make_unique<FilterConfigParserImpl>
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfigImpl(\n      const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    signature: "::espv2::api::envoy::v12::http::backend_auth::FilterConfig & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& stats() override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '& cfg_parser() const override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterConfigParser
    signature: FilterConfigParser & cfg_parser() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_BACKEND_AUTH_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 6
    functionsReached:
    - ALL_BACKEND_AUTH_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    - std::make_unique<FilterConfigParserImpl>
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfigImpl(\n      const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    signature: "::espv2::api::envoy::v12::http::backend_auth::FilterConfig & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& stats() override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '& cfg_parser() const override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterConfigParser
    signature: FilterConfigParser & cfg_parser() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_BACKEND_AUTH_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 7
    functionsReached:
    - ALL_BACKEND_AUTH_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    - std::make_unique<FilterConfigParserImpl>
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfigImpl(\n      const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    signature: "::espv2::api::envoy::v12::http::backend_auth::FilterConfig & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& stats() override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '& cfg_parser() const override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterConfigParser
    signature: FilterConfigParser & cfg_parser() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_BACKEND_AUTH_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 8
    functionsReached:
    - ALL_BACKEND_AUTH_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    - std::make_unique<FilterConfigParserImpl>
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfigImpl(\n      const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    signature: "::espv2::api::envoy::v12::http::backend_auth::FilterConfig & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& stats() override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '& cfg_parser() const override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterConfigParser
    signature: FilterConfigParser & cfg_parser() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_BACKEND_AUTH_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 9
    functionsReached:
    - ALL_BACKEND_AUTH_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    - std::make_unique<FilterConfigParserImpl>
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfigImpl(\n      const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    signature: "::espv2::api::envoy::v12::http::backend_auth::FilterConfig & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& stats() override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '& cfg_parser() const override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterConfigParser
    signature: FilterConfigParser & cfg_parser() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_BACKEND_AUTH_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 10
    functionsReached:
    - ALL_BACKEND_AUTH_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    - std::make_unique<FilterConfigParserImpl>
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfigImpl(\n      const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    signature: "::espv2::api::envoy::v12::http::backend_auth::FilterConfig & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& stats() override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '& cfg_parser() const override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterConfigParser
    signature: FilterConfigParser & cfg_parser() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_BACKEND_AUTH_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 11
    functionsReached:
    - ALL_BACKEND_AUTH_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    - std::make_unique<FilterConfigParserImpl>
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfigImpl(\n      const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    signature: "::espv2::api::envoy::v12::http::backend_auth::FilterConfig & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& stats() override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '& cfg_parser() const override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterConfigParser
    signature: FilterConfigParser & cfg_parser() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_BACKEND_AUTH_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 12
    functionsReached:
    - ALL_BACKEND_AUTH_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    - std::make_unique<FilterConfigParserImpl>
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfigImpl(\n      const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    signature: "::espv2::api::envoy::v12::http::backend_auth::FilterConfig & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& stats() override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '& cfg_parser() const override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterConfigParser
    signature: FilterConfigParser & cfg_parser() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_BACKEND_AUTH_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 13
    functionsReached:
    - ALL_BACKEND_AUTH_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    - std::make_unique<FilterConfigParserImpl>
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfigImpl(\n      const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    signature: "::espv2::api::envoy::v12::http::backend_auth::FilterConfig & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& stats() override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '& cfg_parser() const override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterConfigParser
    signature: FilterConfigParser & cfg_parser() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_BACKEND_AUTH_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 14
    functionsReached:
    - ALL_BACKEND_AUTH_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    - std::make_unique<FilterConfigParserImpl>
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfigImpl(\n      const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    signature: "::espv2::api::envoy::v12::http::backend_auth::FilterConfig & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& stats() override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '& cfg_parser() const override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterConfigParser
    signature: FilterConfigParser & cfg_parser() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_BACKEND_AUTH_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 15
    functionsReached:
    - ALL_BACKEND_AUTH_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:40,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    - std::make_unique<FilterConfigParserImpl>
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfigImpl(\n      const ::espv2::api::envoy::v12::http::backend_auth::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::backend_auth::FilterConfig
    signature: "::espv2::api::envoy::v12::http::backend_auth::FilterConfig & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: '& stats() override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: '& cfg_parser() const override'
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterConfigParser
    signature: FilterConfigParser & cfg_parser() const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_BACKEND_AUTH_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:59,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
    functionUses: 16
    functionsReached:
    - ALL_BACKEND_AUTH_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::backend_auth::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::backend_auth::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::backend_auth::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::backend_auth::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::backend_auth::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::backend_auth::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::backend_auth::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::backend_auth::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::backend_auth::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::backend_auth::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::backend_auth::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::backend_auth::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::backend_auth::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::backend_auth::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::backend_auth::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: espv2::envoy::http_filters::backend_auth::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<FilterConfigParserImpl>
    - std::string
    linkageType: ''
    returnType: void
    signature: void setUp(absl::string_view filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:64,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:65,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:68,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:69,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:77,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:78,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:81,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:82,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:87,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByImds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:125,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:126,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:128,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:130,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:135,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:139,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:140,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:142,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:156,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:157,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:159,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:170,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 178
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - createIamTokenSubscriber
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    - access_token_fn
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByIam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<FilterConfigParserImpl>
    - std::string
    linkageType: ''
    returnType: void
    signature: void setUp(absl::string_view filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:64,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:65,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:68,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:69,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:77,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:78,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:81,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:82,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:87,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByImds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:125,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:126,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:128,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:130,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:135,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:139,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:140,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:142,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:156,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:157,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:159,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:170,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 178
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - createIamTokenSubscriber
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    - access_token_fn
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByIam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<FilterConfigParserImpl>
    - std::string
    linkageType: ''
    returnType: void
    signature: void setUp(absl::string_view filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:64,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:65,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:68,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:69,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:77,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:78,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:81,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:82,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:87,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByImds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:125,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:126,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:128,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:130,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:135,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:139,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:140,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:142,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:156,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:157,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:159,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:170,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 178
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - createIamTokenSubscriber
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    - access_token_fn
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByIam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<FilterConfigParserImpl>
    - std::string
    linkageType: ''
    returnType: void
    signature: void setUp(absl::string_view filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:64,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:65,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:68,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:69,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:77,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:78,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:81,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:82,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:87,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByImds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:125,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:126,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:128,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:130,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:135,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:139,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:140,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:142,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:156,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:157,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:159,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:170,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 178
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - createIamTokenSubscriber
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    - access_token_fn
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByIam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<FilterConfigParserImpl>
    - std::string
    linkageType: ''
    returnType: void
    signature: void setUp(absl::string_view filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:64,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:65,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:68,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:69,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:77,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:78,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:81,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:82,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:87,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByImds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:125,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:126,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:128,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:130,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:135,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:139,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:140,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:142,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:156,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:157,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:159,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:170,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 178
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - createIamTokenSubscriber
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    - access_token_fn
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByIam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<FilterConfigParserImpl>
    - std::string
    linkageType: ''
    returnType: void
    signature: void setUp(absl::string_view filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:64,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:65,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:68,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:69,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:77,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:78,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:81,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:82,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:87,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByImds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:125,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:126,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:128,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:130,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:135,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:139,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:140,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:142,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:156,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:157,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:159,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:170,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 178
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - createIamTokenSubscriber
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    - access_token_fn
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByIam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<FilterConfigParserImpl>
    - std::string
    linkageType: ''
    returnType: void
    signature: void setUp(absl::string_view filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:64,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:65,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:68,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:69,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:77,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:78,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:81,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:82,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:87,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByImds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:125,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:126,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:128,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:130,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:135,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:139,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:140,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:142,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:156,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:157,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:159,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:170,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 178
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - createIamTokenSubscriber
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    - access_token_fn
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByIam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<FilterConfigParserImpl>
    - std::string
    linkageType: ''
    returnType: void
    signature: void setUp(absl::string_view filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:64,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:65,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:68,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:69,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:77,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:78,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:81,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:82,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:87,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByImds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:125,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:126,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:128,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:130,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:135,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:139,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:140,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:142,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:156,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:157,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:159,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:170,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 178
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - createIamTokenSubscriber
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    - access_token_fn
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByIam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<FilterConfigParserImpl>
    - std::string
    linkageType: ''
    returnType: void
    signature: void setUp(absl::string_view filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:64,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:65,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:68,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:69,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:77,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:78,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:81,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:82,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:87,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByImds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:125,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:126,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:128,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:130,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:135,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:139,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:140,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:142,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:156,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:157,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:159,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:170,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 178
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - createIamTokenSubscriber
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    - access_token_fn
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByIam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<FilterConfigParserImpl>
    - std::string
    linkageType: ''
    returnType: void
    signature: void setUp(absl::string_view filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:64,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:65,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:68,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:69,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:77,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:78,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:81,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:82,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:87,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByImds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:125,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:126,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:128,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:130,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:135,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:139,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:140,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:142,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:156,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:157,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:159,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:170,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 178
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - createIamTokenSubscriber
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    - access_token_fn
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByIam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<FilterConfigParserImpl>
    - std::string
    linkageType: ''
    returnType: void
    signature: void setUp(absl::string_view filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:64,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:65,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:68,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:69,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:77,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:78,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:81,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:82,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:87,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByImds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:125,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:126,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:128,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:130,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:135,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:139,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:140,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:142,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:156,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:157,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:159,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:170,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 178
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - createIamTokenSubscriber
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    - access_token_fn
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByIam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<FilterConfigParserImpl>
    - std::string
    linkageType: ''
    returnType: void
    signature: void setUp(absl::string_view filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:64,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:65,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:68,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:69,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:77,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:78,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:81,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:82,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:87,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByImds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:125,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:126,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:128,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:130,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:135,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:139,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:140,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:142,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:156,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:157,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:159,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:170,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 178
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - createIamTokenSubscriber
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    - access_token_fn
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByIam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<FilterConfigParserImpl>
    - std::string
    linkageType: ''
    returnType: void
    signature: void setUp(absl::string_view filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:64,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:65,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:68,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:69,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:77,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:78,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:81,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:82,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:87,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByImds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:125,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:126,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:128,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:130,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:135,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:139,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:140,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:142,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:156,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:157,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:159,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:170,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 178
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - createIamTokenSubscriber
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    - access_token_fn
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByIam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<FilterConfigParserImpl>
    - std::string
    linkageType: ''
    returnType: void
    signature: void setUp(absl::string_view filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:64,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:65,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:68,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:69,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:77,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:78,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:81,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:82,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:87,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByImds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:125,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:126,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:128,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:130,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:135,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:139,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:140,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:142,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:156,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:157,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:159,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:170,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 178
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - createIamTokenSubscriber
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    - access_token_fn
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByIam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<FilterConfigParserImpl>
    - std::string
    linkageType: ''
    returnType: void
    signature: void setUp(absl::string_view filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:64,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:65,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:68,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:69,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:77,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:78,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:81,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:82,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:87,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByImds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:125,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:126,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:128,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:130,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:135,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:139,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:140,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:142,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:156,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:157,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:159,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:170,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 178
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - createIamTokenSubscriber
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    - access_token_fn
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByIam)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::protobuf::TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:36,1
    - Dst: std::make_unique<FilterConfigParserImpl>
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - google::protobuf::TextFormat::ParseFromString
    - std::make_unique<FilterConfigParserImpl>
    - std::string
    linkageType: ''
    returnType: void
    signature: void setUp(absl::string_view filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:64,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:65,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:68,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:69,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:77,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:78,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:81,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:82,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:87,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:91,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:93,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByImds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:125,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:126,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:128,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:130,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:135,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:139,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:140,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:142,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:144,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:152,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:153,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:156,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:157,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:159,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:161,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: access_token_fn
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:169,1
    - Dst: callback
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:170,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:176,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    - Dst: getJwtToken
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 178
    functionName: espv2::envoy::http_filters::backend_auth::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - Invoke
    - createIamTokenSubscriber
    - EXPECT_CALL
    - getJwtToken
    - callback
    - std::chrono::seconds
    - createImdsTokenSubscriber
    - access_token_fn
    linkageType: ''
    returnType: void
    signature: void TEST_F(ConfigParserImplTest, GetIdTokenByIam)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::token
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr token() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:69,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:70,1
    - Dst: auto::second::token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - audience
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached:
    - auto::second::token
    - find
    - end
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr getJwtToken(absl::string_view audience) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::token
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr token() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:69,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:70,1
    - Dst: auto::second::token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - audience
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached:
    - auto::second::token
    - find
    - end
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr getJwtToken(absl::string_view audience) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::token
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr token() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:69,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:70,1
    - Dst: auto::second::token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - audience
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached:
    - auto::second::token
    - find
    - end
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr getJwtToken(absl::string_view audience) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::token
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr token() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:69,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:70,1
    - Dst: auto::second::token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - audience
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached:
    - auto::second::token
    - find
    - end
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr getJwtToken(absl::string_view audience) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::token
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr token() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:69,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:70,1
    - Dst: auto::second::token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - audience
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached:
    - auto::second::token
    - find
    - end
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr getJwtToken(absl::string_view audience) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::token
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr token() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:69,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:70,1
    - Dst: auto::second::token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - audience
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached:
    - auto::second::token
    - find
    - end
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr getJwtToken(absl::string_view audience) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::token
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr token() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:69,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:70,1
    - Dst: auto::second::token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - audience
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached:
    - auto::second::token
    - find
    - end
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr getJwtToken(absl::string_view audience) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::token
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr token() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:69,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:70,1
    - Dst: auto::second::token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - audience
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached:
    - auto::second::token
    - find
    - end
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr getJwtToken(absl::string_view audience) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::token
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr token() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:69,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:70,1
    - Dst: auto::second::token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - audience
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached:
    - auto::second::token
    - find
    - end
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr getJwtToken(absl::string_view audience) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::token
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr token() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:69,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:70,1
    - Dst: auto::second::token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - audience
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached:
    - auto::second::token
    - find
    - end
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr getJwtToken(absl::string_view audience) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::token
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr token() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:69,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:70,1
    - Dst: auto::second::token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - audience
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached:
    - auto::second::token
    - find
    - end
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr getJwtToken(absl::string_view audience) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::token
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr token() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:69,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:70,1
    - Dst: auto::second::token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - audience
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached:
    - auto::second::token
    - find
    - end
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr getJwtToken(absl::string_view audience) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::token
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr token() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:69,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:70,1
    - Dst: auto::second::token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - audience
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached:
    - auto::second::token
    - find
    - end
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr getJwtToken(absl::string_view audience) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::token
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr token() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:69,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:70,1
    - Dst: auto::second::token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - audience
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached:
    - auto::second::token
    - find
    - end
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr getJwtToken(absl::string_view audience) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::token
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr token() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:69,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:70,1
    - Dst: auto::second::token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - audience
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached:
    - auto::second::token
    - find
    - end
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr getJwtToken(absl::string_view audience) const override
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: espv2::envoy::http_filters::backend_auth::AudienceContext::token
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr token() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:69,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:70,1
    - Dst: auto::second::token
      Src: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - audience
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
    functionSourceFile: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
    functionUses: 0
    functionsReached:
    - auto::second::token
    - find
    - end
    linkageType: ''
    returnType: TokenSharedPtr
    signature: TokenSharedPtr getJwtToken(absl::string_view audience) const override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:36,1
    - Dst: std::make_unique<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:38,1
    - Dst: setEncoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<Filter>
    - setEncoderFilterCallbacks
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:51,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:52,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:54,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:55,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:59,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:60,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, ContentLengthRemoved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:71,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:72,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:74,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:75,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:79,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:80,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    - EXPECT_TRUE
    - Envoy::Http::TestResponseHeaderMapImpl::ContentLength
    - scope_::store
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, WrongContentType)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:91,1
    - Dst: encodeHeaders
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:92,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:94,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:95,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:99,1
    - Dst: Envoy::TestUtility::findCounter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    - Dst: scope_::store
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
    functionUses: 0
    functionsReached:
    - scope_::store
    - EXPECT_EQ
    - encodeHeaders
    - Envoy::TestUtility::findCounter
    linkageType: ''
    returnType: void
    signature: void TEST_F(GrpcMetadataScrubberFilterTest, NotContentLength)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:29,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:32,1
    - Dst: ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:33,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:34,1
    - Dst: removeContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:35,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::ResponseHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - inc
    - Envoy::Grpc::Common::hasGrpcContentType
    - removeContentLength
    - ENVOY_LOG
    - ContentLength
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus Filter::encodeHeaders(\n    Envoy::Http::ResponseHeaderMap&
      headers, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:29,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:32,1
    - Dst: ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:33,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:34,1
    - Dst: removeContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:35,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::ResponseHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - inc
    - Envoy::Grpc::Common::hasGrpcContentType
    - removeContentLength
    - ENVOY_LOG
    - ContentLength
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus Filter::encodeHeaders(\n    Envoy::Http::ResponseHeaderMap&
      headers, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:29,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:32,1
    - Dst: ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:33,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:34,1
    - Dst: removeContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:35,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::ResponseHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - inc
    - Envoy::Grpc::Common::hasGrpcContentType
    - removeContentLength
    - ENVOY_LOG
    - ContentLength
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus Filter::encodeHeaders(\n    Envoy::Http::ResponseHeaderMap&
      headers, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:29,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:32,1
    - Dst: ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:33,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:34,1
    - Dst: removeContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:35,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::ResponseHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - inc
    - Envoy::Grpc::Common::hasGrpcContentType
    - removeContentLength
    - ENVOY_LOG
    - ContentLength
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus Filter::encodeHeaders(\n    Envoy::Http::ResponseHeaderMap&
      headers, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:29,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:32,1
    - Dst: ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:33,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:34,1
    - Dst: removeContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:35,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::ResponseHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - inc
    - Envoy::Grpc::Common::hasGrpcContentType
    - removeContentLength
    - ENVOY_LOG
    - ContentLength
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus Filter::encodeHeaders(\n    Envoy::Http::ResponseHeaderMap&
      headers, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:29,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:32,1
    - Dst: ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:33,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:34,1
    - Dst: removeContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:35,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::ResponseHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - inc
    - Envoy::Grpc::Common::hasGrpcContentType
    - removeContentLength
    - ENVOY_LOG
    - ContentLength
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus Filter::encodeHeaders(\n    Envoy::Http::ResponseHeaderMap&
      headers, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:29,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:32,1
    - Dst: ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:33,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:34,1
    - Dst: removeContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:35,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::ResponseHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - inc
    - Envoy::Grpc::Common::hasGrpcContentType
    - removeContentLength
    - ENVOY_LOG
    - ContentLength
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus Filter::encodeHeaders(\n    Envoy::Http::ResponseHeaderMap&
      headers, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:29,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:32,1
    - Dst: ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:33,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:34,1
    - Dst: removeContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:35,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::ResponseHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - inc
    - Envoy::Grpc::Common::hasGrpcContentType
    - removeContentLength
    - ENVOY_LOG
    - ContentLength
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus Filter::encodeHeaders(\n    Envoy::Http::ResponseHeaderMap&
      headers, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:29,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:32,1
    - Dst: ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:33,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:34,1
    - Dst: removeContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:35,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::ResponseHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - inc
    - Envoy::Grpc::Common::hasGrpcContentType
    - removeContentLength
    - ENVOY_LOG
    - ContentLength
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus Filter::encodeHeaders(\n    Envoy::Http::ResponseHeaderMap&
      headers, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:29,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:32,1
    - Dst: ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:33,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:34,1
    - Dst: removeContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:35,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::ResponseHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - inc
    - Envoy::Grpc::Common::hasGrpcContentType
    - removeContentLength
    - ENVOY_LOG
    - ContentLength
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus Filter::encodeHeaders(\n    Envoy::Http::ResponseHeaderMap&
      headers, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:29,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:32,1
    - Dst: ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:33,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:34,1
    - Dst: removeContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:35,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::ResponseHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - inc
    - Envoy::Grpc::Common::hasGrpcContentType
    - removeContentLength
    - ENVOY_LOG
    - ContentLength
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus Filter::encodeHeaders(\n    Envoy::Http::ResponseHeaderMap&
      headers, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:29,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:32,1
    - Dst: ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:33,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:34,1
    - Dst: removeContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:35,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::ResponseHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - inc
    - Envoy::Grpc::Common::hasGrpcContentType
    - removeContentLength
    - ENVOY_LOG
    - ContentLength
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus Filter::encodeHeaders(\n    Envoy::Http::ResponseHeaderMap&
      headers, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:29,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:32,1
    - Dst: ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:33,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:34,1
    - Dst: removeContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:35,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::ResponseHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - inc
    - Envoy::Grpc::Common::hasGrpcContentType
    - removeContentLength
    - ENVOY_LOG
    - ContentLength
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus Filter::encodeHeaders(\n    Envoy::Http::ResponseHeaderMap&
      headers, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:29,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:32,1
    - Dst: ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:33,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:34,1
    - Dst: removeContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:35,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::ResponseHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - inc
    - Envoy::Grpc::Common::hasGrpcContentType
    - removeContentLength
    - ENVOY_LOG
    - ContentLength
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus Filter::encodeHeaders(\n    Envoy::Http::ResponseHeaderMap&
      headers, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:29,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:32,1
    - Dst: ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:33,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:34,1
    - Dst: removeContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:35,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::ResponseHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - inc
    - Envoy::Grpc::Common::hasGrpcContentType
    - removeContentLength
    - ENVOY_LOG
    - ContentLength
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus Filter::encodeHeaders(\n    Envoy::Http::ResponseHeaderMap&
      headers, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:29,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:30,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:32,1
    - Dst: ContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:33,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:34,1
    - Dst: removeContentLength
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:35,1
    - Dst: stats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    - Dst: inc
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::ResponseHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc
    functionUses: 0
    functionsReached:
    - stats
    - inc
    - Envoy::Grpc::Common::hasGrpcContentType
    - removeContentLength
    - ENVOY_LOG
    - ContentLength
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus Filter::encodeHeaders(\n    Envoy::Http::ResponseHeaderMap&
      headers, bool)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfig(const std::string& stats_prefix,\n               Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:54,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 1
    functionsReached:
    - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfig(const std::string& stats_prefix,\n               Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:54,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 2
    functionsReached:
    - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfig(const std::string& stats_prefix,\n               Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:54,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 3
    functionsReached:
    - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfig(const std::string& stats_prefix,\n               Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:54,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 4
    functionsReached:
    - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfig(const std::string& stats_prefix,\n               Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:54,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 5
    functionsReached:
    - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfig(const std::string& stats_prefix,\n               Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:54,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 6
    functionsReached:
    - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfig(const std::string& stats_prefix,\n               Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:54,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 7
    functionsReached:
    - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfig(const std::string& stats_prefix,\n               Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:54,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 8
    functionsReached:
    - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfig(const std::string& stats_prefix,\n               Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:54,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 9
    functionsReached:
    - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfig(const std::string& stats_prefix,\n               Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:54,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 10
    functionsReached:
    - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfig(const std::string& stats_prefix,\n               Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:54,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 11
    functionsReached:
    - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfig(const std::string& stats_prefix,\n               Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:54,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 12
    functionsReached:
    - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfig(const std::string& stats_prefix,\n               Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:54,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 13
    functionsReached:
    - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfig(const std::string& stats_prefix,\n               Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:54,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 14
    functionsReached:
    - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfig(const std::string& stats_prefix,\n               Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:54,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 15
    functionsReached:
    - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    - scope
    linkageType: ''
    returnType: void
    signature: "void FilterConfig(const std::string& stats_prefix,\n               Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FilterStats
    signature: FilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:54,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    functionUses: 16
    functionsReached:
    - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
    - POOL_COUNTER_PREFIX
    linkageType: ''
    returnType: FilterStats
    signature: "FilterStats generateStats(const std::string& prefix,\n                            Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:48,1
    - Dst: addStreamEncoderFilter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamEncoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamEncoderFilterSharedPtr
    - addStreamEncoderFilter
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::grpc_metadata_scrubber::\n          FilterConfig&,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:48,1
    - Dst: addStreamEncoderFilter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamEncoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamEncoderFilterSharedPtr
    - addStreamEncoderFilter
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::grpc_metadata_scrubber::\n          FilterConfig&,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:48,1
    - Dst: addStreamEncoderFilter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamEncoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamEncoderFilterSharedPtr
    - addStreamEncoderFilter
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::grpc_metadata_scrubber::\n          FilterConfig&,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:48,1
    - Dst: addStreamEncoderFilter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamEncoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamEncoderFilterSharedPtr
    - addStreamEncoderFilter
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::grpc_metadata_scrubber::\n          FilterConfig&,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:48,1
    - Dst: addStreamEncoderFilter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamEncoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamEncoderFilterSharedPtr
    - addStreamEncoderFilter
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::grpc_metadata_scrubber::\n          FilterConfig&,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:48,1
    - Dst: addStreamEncoderFilter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamEncoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamEncoderFilterSharedPtr
    - addStreamEncoderFilter
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::grpc_metadata_scrubber::\n          FilterConfig&,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:48,1
    - Dst: addStreamEncoderFilter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamEncoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamEncoderFilterSharedPtr
    - addStreamEncoderFilter
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::grpc_metadata_scrubber::\n          FilterConfig&,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:48,1
    - Dst: addStreamEncoderFilter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamEncoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamEncoderFilterSharedPtr
    - addStreamEncoderFilter
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::grpc_metadata_scrubber::\n          FilterConfig&,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:48,1
    - Dst: addStreamEncoderFilter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamEncoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamEncoderFilterSharedPtr
    - addStreamEncoderFilter
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::grpc_metadata_scrubber::\n          FilterConfig&,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:48,1
    - Dst: addStreamEncoderFilter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamEncoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamEncoderFilterSharedPtr
    - addStreamEncoderFilter
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::grpc_metadata_scrubber::\n          FilterConfig&,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:48,1
    - Dst: addStreamEncoderFilter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamEncoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamEncoderFilterSharedPtr
    - addStreamEncoderFilter
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::grpc_metadata_scrubber::\n          FilterConfig&,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:48,1
    - Dst: addStreamEncoderFilter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamEncoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamEncoderFilterSharedPtr
    - addStreamEncoderFilter
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::grpc_metadata_scrubber::\n          FilterConfig&,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:48,1
    - Dst: addStreamEncoderFilter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamEncoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamEncoderFilterSharedPtr
    - addStreamEncoderFilter
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::grpc_metadata_scrubber::\n          FilterConfig&,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:48,1
    - Dst: addStreamEncoderFilter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamEncoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamEncoderFilterSharedPtr
    - addStreamEncoderFilter
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::grpc_metadata_scrubber::\n          FilterConfig&,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:48,1
    - Dst: addStreamEncoderFilter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamEncoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamEncoderFilterSharedPtr
    - addStreamEncoderFilter
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::grpc_metadata_scrubber::\n          FilterConfig&,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<FilterConfig>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:45,1
    - Dst: std::make_shared<Filter>
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:48,1
    - Dst: addStreamEncoderFilter
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:49,1
    - Dst: Envoy::Http::StreamEncoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' stats_prefix'
    - ' context'
    argTypes:
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<Filter>
    - Envoy::Http::StreamEncoderFilterSharedPtr
    - addStreamEncoderFilter
    - std::make_shared<FilterConfig>
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::grpc_metadata_scrubber::\n          FilterConfig&,\n
      \     const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - config
    argTypes:
    - FilterConfigSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
    functionSourceFile: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Filter(FilterConfigSharedPtr config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:57,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:61,1
    - Dst: FilterConfigParser::find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:63,1
    - Dst: FilterConfigParser::find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:67,1
    - Dst: FilterConfigParser::find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:69,1
    - Dst: FilterConfigParser::find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:69,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:75,1
    - Dst: FilterConfigParser::find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:75,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:87,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:88,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:109,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:110,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:127,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:127,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:145,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 155
    functionName: TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - ASSERT_TRUE
    - TextFormat::ParseFromString
    - FilterConfigParser::find_requirement
    linkageType: ''
    returnType: void
    signature: void TEST(ConfigParserTest, EmptyConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:57,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:61,1
    - Dst: FilterConfigParser::find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:63,1
    - Dst: FilterConfigParser::find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:67,1
    - Dst: FilterConfigParser::find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:69,1
    - Dst: FilterConfigParser::find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:69,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:75,1
    - Dst: FilterConfigParser::find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - parser
    - TEST
    argTypes:
    - FilterConfigParser
    - Empty
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 76
    functionName: EXPECT_THROW_WITH_REGEX
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc
    functionUses: 112
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - ASSERT_TRUE
    - TextFormat::ParseFromString
    - FilterConfigParser::find_requirement
    linkageType: ''
    returnType: void
    signature: "void EXPECT_THROW_WITH_REGEX(FilterConfigParser parser(config, mock_factory),\n
      \                         Envoy::ProtoValidationException, \"Empty services\");\n}\n\nTEST(ConfigParserTest,
      ValidConfig)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:87,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:88,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:109,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:110,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:127,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:127,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:145,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 154
    functionName: TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc
    functionUses: 0
    functionsReached:
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ConfigParserTest, DuplicatedServiceNames)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:109,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:110,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:127,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:127,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:145,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - parser
    argTypes:
    - FilterConfigParser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 153
    functionName: EXPECT_THROW_WITH_REGEX
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc
    functionUses: 112
    functionsReached:
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: "void EXPECT_THROW_WITH_REGEX(FilterConfigParser parser(config, mock_factory),\n
      \                         Envoy::ProtoValidationException,\n                          \"Duplicated
      service names\");\n}\n\nTEST(ConfigParserTest, DuplicatedOperationNames)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:127,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:127,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:145,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - parser
    argTypes:
    - FilterConfigParser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 152
    functionName: EXPECT_THROW_WITH_REGEX
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc
    functionUses: 112
    functionsReached:
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: "void EXPECT_THROW_WITH_REGEX(FilterConfigParser parser(config, mock_factory),\n
      \                         Envoy::ProtoValidationException,\n                          \"Duplicated
      operation names\");\n}\n\nTEST(ConfigParserTest, InvalidServiceInRequirement)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:145,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parser
    argTypes:
    - FilterConfigParser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 150
    functionName: EXPECT_THROW_WITH_REGEX
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc
    functionUses: 112
    functionsReached:
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: "void EXPECT_THROW_WITH_REGEX(FilterConfigParser parser(config, mock_factory),\n
      \                         Envoy::ProtoValidationException,\n                          \"Invalid
      service name\");\n}\n\nTEST(ConfigParserTest, InvalidMinReportInterval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:57,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:61,1
    - Dst: FilterConfigParser::find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:63,1
    - Dst: FilterConfigParser::find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:67,1
    - Dst: FilterConfigParser::find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:69,1
    - Dst: FilterConfigParser::find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:69,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:75,1
    - Dst: FilterConfigParser::find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:75,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:87,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:88,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:109,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:110,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:127,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:127,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:145,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 155
    functionName: TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - ASSERT_TRUE
    - TextFormat::ParseFromString
    - FilterConfigParser::find_requirement
    linkageType: ''
    returnType: void
    signature: void TEST(ConfigParserTest, EmptyConfig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:57,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:61,1
    - Dst: FilterConfigParser::find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:61,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:63,1
    - Dst: FilterConfigParser::find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:67,1
    - Dst: FilterConfigParser::find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:69,1
    - Dst: FilterConfigParser::find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:69,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:75,1
    - Dst: FilterConfigParser::find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - parser
    - TEST
    argTypes:
    - FilterConfigParser
    - Empty
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 76
    functionName: EXPECT_THROW_WITH_REGEX
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc
    functionUses: 112
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - ASSERT_TRUE
    - TextFormat::ParseFromString
    - FilterConfigParser::find_requirement
    linkageType: ''
    returnType: void
    signature: "void EXPECT_THROW_WITH_REGEX(FilterConfigParser parser(config, mock_factory),\n
      \                         Envoy::ProtoValidationException, \"Empty services\");\n}\n\nTEST(ConfigParserTest,
      ValidConfig)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:87,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:88,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:109,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:110,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:127,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:127,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:145,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 154
    functionName: TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc
    functionUses: 0
    functionsReached:
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ConfigParserTest, DuplicatedServiceNames)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:109,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:110,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:127,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:127,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:145,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - parser
    argTypes:
    - FilterConfigParser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 153
    functionName: EXPECT_THROW_WITH_REGEX
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc
    functionUses: 112
    functionsReached:
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: "void EXPECT_THROW_WITH_REGEX(FilterConfigParser parser(config, mock_factory),\n
      \                         Envoy::ProtoValidationException,\n                          \"Duplicated
      service names\");\n}\n\nTEST(ConfigParserTest, DuplicatedOperationNames)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:127,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:127,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:145,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - parser
    argTypes:
    - FilterConfigParser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 152
    functionName: EXPECT_THROW_WITH_REGEX
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc
    functionUses: 112
    functionsReached:
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: "void EXPECT_THROW_WITH_REGEX(FilterConfigParser parser(config, mock_factory),\n
      \                         Envoy::ProtoValidationException,\n                          \"Duplicated
      operation names\");\n}\n\nTEST(ConfigParserTest, InvalidServiceInRequirement)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:145,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parser
    argTypes:
    - FilterConfigParser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 150
    functionName: EXPECT_THROW_WITH_REGEX
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc
    functionUses: 112
    functionsReached:
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: "void EXPECT_THROW_WITH_REGEX(FilterConfigParser parser(config, mock_factory),\n
      \                         Envoy::ProtoValidationException,\n                          \"Invalid
      service name\");\n}\n\nTEST(ConfigParserTest, InvalidMinReportInterval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: values
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:15,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:16,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ParsingForwardedHeaderInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 19
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - extractIPFromForwardedHeader
    - values
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ParsingForwardedHeaderInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:51,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilterTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:57,1
    - Dst: setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:58,1
    - Dst: testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:60,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:61,1
    - Dst: std::make_shared<NiceMock<Envoy::Router::MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:62,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:63,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:64,1
    - Dst: std::make_unique<Envoy::Tracing::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - ON_CALL
    - std::make_shared<NiceMock<Envoy::Router::MockRoute>>
    - createHandler
    - ByMove
    - std::move
    - Return
    - testing::NiceMock<MockServiceControlHandler>::NiceMock<MockServiceControlHandler>
    - std::make_unique<Envoy::Tracing::MockSpan>
    - std::make_unique<ServiceControlFilter>
    - reset
    - setDecoderFilterCallbacks
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:93,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:94,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:97,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:98,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:102,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:103,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:104,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:105,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:109,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - setResponseFlag
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:117,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:118,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:122,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:123,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:124,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:127,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - fillFilterState
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - onDestroy
    - onCheckDone
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncOKStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:133,1
    - Dst: onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - onDestroy
    - createHandler
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, OnDestoryWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:141,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:142,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:144,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:148,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:149,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:150,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:152,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:155,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 157
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - onCheckDone
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersSyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:165,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:169,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:174,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:177,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - callCheck
    - OkStatus
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncGoodStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:184,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:189,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:198,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:202,1
    - Dst: setResponseFlag
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:203,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:205,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:207,1
    - Dst: ServiceControlHandler::CheckDoneCallback*::onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 211
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - sendLocalReply
    - callCheck
    - setResponseFlag
    - ServiceControlHandler::CheckDoneCallback*::onCheckDone
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHeadersAsyncBadStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:215,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithoutHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:224,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:226,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:227,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - createHandler
    - decodeHeaders
    - EXPECT_CALL
    - log
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, LogWithHandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:235,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:239,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:240,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:243,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - decodeHeaders
    - EXPECT_EQ
    - decodeTrailers
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileStopped)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:249,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:250,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:254,1
    - Dst: decodeHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:255,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:258,1
    - Dst: decodeData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:262,1
    - Dst: decodeTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_test.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Invoke
    - decodeHeaders
    - EXPECT_CALL
    - decodeTrailers
    - callCheck
    - onCheckDone
    - OkStatus
    - decodeData
    linkageType: ''
    returnType: void
    signature: void TEST_F(ServiceControlFilterTest, DecodeHelpersWhileContinuing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 1
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 1
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 1
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 2
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 2
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 2
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 3
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 3
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 3
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 4
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 4
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 4
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 5
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 5
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 5
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 6
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 6
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 6
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 7
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 7
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 7
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 8
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 8
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 8
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 9
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 9
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 9
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 10
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 10
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 10
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 11
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 11
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 11
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 12
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 12
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 12
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 13
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 13
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 13
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 14
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 14
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 14
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 15
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 15
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 15
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 16
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 16
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 16
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 17
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 17
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 17
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 18
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 18
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 18
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 19
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 19
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 19
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 20
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 20
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 20
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 21
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 21
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 21
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 22
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 22
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 22
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 23
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 23
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 23
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 24
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 24
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 24
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 25
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 25
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 25
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 26
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 26
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 26
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 27
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 27
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 27
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 28
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 28
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 28
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 29
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 29
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 29
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 30
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 30
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 30
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void ClientCacheTestBase()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:78,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 31
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:85,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:86,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:87,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:88,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:89,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:90,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:93,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:94,1
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 96
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 31
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:119,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:120,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:121,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - StatusCode
    - CheckResponse*
    - StatusCode
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleCheckResponse
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, CheckResponse* got_response,\n
      \              StatusCode want_client_code, ApiKeyState want_api_key_state,\n
      \              std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:130,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:132,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:138,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:140,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Http4xxTranslatedAndBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:146,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:147,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:148,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:150,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 153
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc5xxAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:156,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:157,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:158,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:160,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, Sc4xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:166,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:175,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - mutable_sc_calling_config
    - std::make_unique<ClientCache>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:185,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:187,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckResponse::CheckResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Http5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:193,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:194,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:195,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:197,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - CheckError*::set_code
    - checkAndReset
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseNetworkFailClosedTest, Sc5xxBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:206,1
    - Dst: CheckResponse*::mutable_check_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:207,1
    - Dst: CheckError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:208,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:211,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:212,1
    - Dst: handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - got_check_error_code
    - want_api_key_state
    - want_error_name
    argTypes:
    - CheckError_Code
    - ApiKeyState
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - CheckError*::set_code
    - handleCheckResponse
    - CheckResponse::CheckResponse
    - CheckResponse*::mutable_check_errors
    linkageType: ''
    returnType: void
    signature: "void runTest(CheckError_Code got_check_error_code,\n               ApiKeyState
      want_api_key_state, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:220,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:226,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:234,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:240,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:246,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckResponseErrorTypeTest, ServiceNotActivated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:259,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:260,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - got_http_code
    - got_response
    - want_client_code
    - want_error_name
    argTypes:
    - StatusCode
    - AllocateQuotaResponse*
    - StatusCode
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - handleQuotaOnDone
    - code
    linkageType: ''
    returnType: void
    signature: "void runTest(StatusCode got_http_code, AllocateQuotaResponse* got_response,\n
      \              StatusCode want_client_code, std::string want_error_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:269,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:271,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, HttpErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:276,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:277,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:278,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:280,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    - QuotaError*::set_code
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScErrorBlocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:286,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - AllocateQuotaResponse::AllocateQuotaResponse
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseTest, ScOkAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:294,1
    - Dst: AllocateQuotaResponse*::mutable_allocate_errors
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:295,1
    - Dst: QuotaError*::set_code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:296,1
    - Dst: handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - got_quota_error_code
    argTypes:
    - QuotaError_Code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - AllocateQuotaResponse*::mutable_allocate_errors
    - AllocateQuotaResponse::AllocateQuotaResponse
    - handleQuotaOnDone
    - QuotaError*::set_code
    linkageType: ''
    returnType: void
    signature: void runTest(QuotaError_Code got_quota_error_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:307,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerError)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:312,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ConsumerQuota)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:317,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    - checkAndReset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheQuotaResponseErrorTypeTest, ApiKeyInvalid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:324,1
    - Dst: set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:325,1
    - Dst: std::make_unique<ClientCache>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:327,1
    - Dst: std::make_unique<MockHttpCall>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:332,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:333,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:334,1
    - Dst: std::make_unique<MockHttpCallFactory>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 31
    functionsReached:
    - set_service_config_id
    - set_service_name
    - std::make_unique<MockHttpCallFactory>
    - std::make_unique<ClientCache>
    - std::make_unique<MockHttpCall>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:341,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:342,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void injectFactoryMocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 359
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:363,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:371,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:374,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:378,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:381,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:384,1
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:386,1
    - Dst: injectFactoryMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - want_http_calls_on_check
    - want_http_calls_on_flush
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 390
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - Invoke
    - injectFactoryMocks
    - EXPECT_CALL
    - call
    - Status
    - get
    linkageType: ''
    returnType: void
    signature: "void setupHttpMocks(int want_http_calls_on_check,\n                      int
      want_http_calls_on_flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckRequest::set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:394,1
    - Dst: CheckRequest::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:395,1
    - Dst: CheckRequest::mutable_operation
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:396,1
    - Dst: Operation*::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:397,1
    - Dst: Operation*::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:398,1
    - Dst: Operation*::set_consumer_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 401
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - Operation*::set_consumer_id
    - CheckRequest::set_service_config_id
    - Operation*::set_operation_id
    - Operation*::set_operation_name
    - CheckRequest::set_service_name
    - CheckRequest::mutable_operation
    linkageType: ''
    returnType: CheckRequest
    signature: CheckRequest getValidCheckRequest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckResponse::set_operation_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:405,1
    - Dst: CheckResponse::set_service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - CheckResponse::set_operation_id
    - CheckResponse::set_service_config_id
    linkageType: ''
    returnType: CheckResponse
    signature: CheckResponse getValidCheckResponse()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:416,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:418,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:419,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:422,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:426,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:431,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:432,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:436,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:439,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 443
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneSuccessfulHttpCall)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:449,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:451,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:459,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:462,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:465,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:468,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:471,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 474
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OneHttpCallWithBadBody)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:480,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:482,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:487,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:494,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:495,1
    - Dst: cancel_func
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:498,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:501,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:504,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:507,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - http_done_
    - Invoke
    - EXPECT_CALL
    - callCheck
    - code
    - checkAndReset
    - Status
    - setupHttpMocks
    - reset
    - cancel_func
    - cancel
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, OnePendingHttpCallCancelled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupHttpMocks
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:518,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:523,1
    - Dst: getValidCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:527,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:528,1
    - Dst: getValidCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:533,1
    - Dst: CheckResponse::SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:534,1
    - Dst: http_done_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:535,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:538,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:539,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:542,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:548,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:551,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 553
    functionName: espv2::envoy::http_filters::service_control::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
    functionUses: 0
    functionsReached:
    - getValidCheckRequest
    - EXPECT_EQ
    - getValidCheckResponse
    - http_done_
    - callCheck
    - code
    - checkAndReset
    - setupHttpMocks
    - OkStatus
    - reset
    - CheckResponse::SerializeToString
    linkageType: ''
    returnType: void
    signature: void TEST_F(ClientCacheCheckHttpRequestTest, SuccessfulHttpCallWithCache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:149,1
    - Dst: gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:153,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:154,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:155,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:158,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:159,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:162,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - "\n        filter_config"
    - ' info'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: espv2::envoy::http_filters::service_control::fillGCPInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - zone
    - gcp_attributes
    - project_id
    - platform
    - has_gcp_attributes
    linkageType: ''
    returnType: void
    signature: "void fillGCPInfo(\n    const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \       filter_config,\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderUtility::getAllOfHeaderAsString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:175,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:176,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:177,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:178,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - headers
    - ' log_headers'
    - ' info_header_field'
    argTypes:
    - Envoy::Http::HeaderMap*
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: espv2::envoy::http_filters::service_control::fillLoggedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - auto::result
    - Envoy::Http::HeaderUtility::getAllOfHeaderAsString
    - Envoy::Http::LowerCaseString
    linkageType: ''
    returnType: void
    signature: "void fillLoggedHeader(\n    const Envoy::Http::HeaderMap* headers,\n
      \   const ::google::protobuf::RepeatedPtrField<::std::string>& log_headers,\n
      \   std::string& info_header_field)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:193,1
    - Dst: Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:194,1
    - Dst: ENVOY_BUG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:220,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:221,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:222,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:223,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:224,1
    - Dst: filter_::request_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:230,1
    - Dst: filter_::backend_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:231,1
    - Dst: filter_::overhead_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - ' stream_info'
    - ' latency'
    - ' filter_stats'
    argTypes:
    - Envoy::StreamInfo::StreamInfo
    - LatencyInfo
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 233
    functionName: espv2::envoy::http_filters::service_control::fillLatency
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - ENVOY_BUG
    - filter_::backend_time_::recordValue
    - requestComplete
    - auto::value
    - filter_::request_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
    - espv2::envoy::http_filters::service_control::convertNsToMs
    - responseCodeDetails
    - filter_::overhead_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
    - Envoy::StreamInfo::ResponseCodeDetails::get
    linkageType: ''
    returnType: void
    signature: "void fillLatency(const Envoy::StreamInfo::StreamInfo& stream_info,\n
      \                LatencyInfo& latency,\n                 ServiceControlFilterStats&
      filter_stats)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::ResponseHeaderMap*::getContentTypeValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:239,1
    - Dst: espv2::envoy::http_filters::service_control::isGrpcRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:241,1
    - Dst: protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - response_headers
    - ' stream_info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::StreamInfo::StreamInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::getFrontendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::isGrpcRequest
    - Envoy::Http::ResponseHeaderMap*::getContentTypeValue
    - protocol
    linkageType: ''
    returnType: Protocol
    signature: "Protocol getFrontendProtocol(\n    const Envoy::Http::ResponseHeaderMap*
      response_headers,\n    const Envoy::StreamInfo::StreamInfo& stream_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' service'
    argTypes:
    - Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: espv2::envoy::http_filters::service_control::getBackendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - backend_protocol
    linkageType: ''
    returnType: Protocol
    signature: Protocol getBackendProtocol(const Service& service)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:276,1
    - Dst: std::vector::insert
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: std::vector::begin
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:279,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:281,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:283,1
    - Dst: espv2::envoy::http_filters::service_control::extractJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - "\n                         jwt_payload_paths"
    - ' info_jwt_payloads'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 287
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayloads
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrSplit
    - espv2::envoy::http_filters::service_control::extractJwtPayload
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - std::vector::insert
    - std::vector::begin
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayloads(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                    const std::string& jwt_payload_metadata_name,\n                     const
      ::google::protobuf::RepeatedPtrField<::std::string>&\n                         jwt_payload_paths,\n
      \                    std::string& info_jwt_payloads)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:296,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:298,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:300,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - ' jwt_payload_path'
    - ' info_iss_or_aud'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - string_value
    - absl::StrAppend
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayload(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                   const std::string& jwt_payload_metadata_name,\n                    const
      std::string& jwt_payload_path,\n                    std::string& info_iss_or_aud)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: key_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:317,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: query
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: header
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    - Dst: cookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - ' headers'
    - "\n        locations"
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - "::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>"
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::extractAPIKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - cookie
    - key_case
    - header
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    - query
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKey(\n    const Envoy::Http::RequestHeaderMap& headers,\n
      \   const ::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>&\n
      \       locations,\n    std::string& api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:344,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:354,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:356,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:358,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:360,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:364,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - response_headers
    - response_trailers
    - ' stream_info'
    - ' info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::StreamInfo::StreamInfo
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 369
    functionName: espv2::envoy::http_filters::service_control::fillStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::optional::value
    - static_cast<StatusCode>
    - absl::optional::has_value
    - Envoy::Grpc::Common::getGrpcStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void fillStatus(const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \               const Envoy::Http::ResponseTrailerMap* response_trailers,\n
      \               const Envoy::StreamInfo::StreamInfo& stream_info,\n                ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:373,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:374,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:381,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:382,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:385,1
    - Dst: absl::string_view::find_last_of
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:388,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:390,1
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:396,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:397,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:398,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:403,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:407,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: Envoy::Network::Utility::parseInternetAddressNoThrow
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:414,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:416,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:417,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:422,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:423,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 424
    functionName: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - size
    - value
    - absl::StrSplit
    - absl::string_view::remove_prefix
    - absl::string_view::find_last_of
    - espv2::api_proxy::service_control::StartsWith
    - Envoy::Network::Utility::parseInternetAddressNoThrow
    - absl::StrCat
    - absl::InvalidArgumentError
    - get
    - absl::StripAsciiWhitespace
    - auto::size
    - absl::string_view::size
    - absl::string_view::substr
    linkageType: ''
    returnType: absl::StatusOr<std::string>
    signature: "absl::StatusOr<std::string> extractIPFromForwardedHeader(\n    const
      Envoy::Http::RequestHeaderMap& headers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 1
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 1
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 1
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 1
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 1
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 1
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 1
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 1
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 1
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 1
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 1
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 1
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:149,1
    - Dst: gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:153,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:154,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:155,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:158,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:159,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:162,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - "\n        filter_config"
    - ' info'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: espv2::envoy::http_filters::service_control::fillGCPInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - zone
    - gcp_attributes
    - project_id
    - platform
    - has_gcp_attributes
    linkageType: ''
    returnType: void
    signature: "void fillGCPInfo(\n    const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \       filter_config,\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderUtility::getAllOfHeaderAsString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:175,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:176,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:177,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:178,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - headers
    - ' log_headers'
    - ' info_header_field'
    argTypes:
    - Envoy::Http::HeaderMap*
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: espv2::envoy::http_filters::service_control::fillLoggedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - auto::result
    - Envoy::Http::HeaderUtility::getAllOfHeaderAsString
    - Envoy::Http::LowerCaseString
    linkageType: ''
    returnType: void
    signature: "void fillLoggedHeader(\n    const Envoy::Http::HeaderMap* headers,\n
      \   const ::google::protobuf::RepeatedPtrField<::std::string>& log_headers,\n
      \   std::string& info_header_field)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:193,1
    - Dst: Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:194,1
    - Dst: ENVOY_BUG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:220,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:221,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:222,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:223,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:224,1
    - Dst: filter_::request_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:230,1
    - Dst: filter_::backend_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:231,1
    - Dst: filter_::overhead_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - ' stream_info'
    - ' latency'
    - ' filter_stats'
    argTypes:
    - Envoy::StreamInfo::StreamInfo
    - LatencyInfo
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 233
    functionName: espv2::envoy::http_filters::service_control::fillLatency
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - ENVOY_BUG
    - filter_::backend_time_::recordValue
    - requestComplete
    - auto::value
    - filter_::request_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
    - espv2::envoy::http_filters::service_control::convertNsToMs
    - responseCodeDetails
    - filter_::overhead_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
    - Envoy::StreamInfo::ResponseCodeDetails::get
    linkageType: ''
    returnType: void
    signature: "void fillLatency(const Envoy::StreamInfo::StreamInfo& stream_info,\n
      \                LatencyInfo& latency,\n                 ServiceControlFilterStats&
      filter_stats)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::ResponseHeaderMap*::getContentTypeValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:239,1
    - Dst: espv2::envoy::http_filters::service_control::isGrpcRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:241,1
    - Dst: protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - response_headers
    - ' stream_info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::StreamInfo::StreamInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::getFrontendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::isGrpcRequest
    - Envoy::Http::ResponseHeaderMap*::getContentTypeValue
    - protocol
    linkageType: ''
    returnType: Protocol
    signature: "Protocol getFrontendProtocol(\n    const Envoy::Http::ResponseHeaderMap*
      response_headers,\n    const Envoy::StreamInfo::StreamInfo& stream_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' service'
    argTypes:
    - Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: espv2::envoy::http_filters::service_control::getBackendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - backend_protocol
    linkageType: ''
    returnType: Protocol
    signature: Protocol getBackendProtocol(const Service& service)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:276,1
    - Dst: std::vector::insert
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: std::vector::begin
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:279,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:281,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:283,1
    - Dst: espv2::envoy::http_filters::service_control::extractJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - "\n                         jwt_payload_paths"
    - ' info_jwt_payloads'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 287
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayloads
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrSplit
    - espv2::envoy::http_filters::service_control::extractJwtPayload
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - std::vector::insert
    - std::vector::begin
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayloads(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                    const std::string& jwt_payload_metadata_name,\n                     const
      ::google::protobuf::RepeatedPtrField<::std::string>&\n                         jwt_payload_paths,\n
      \                    std::string& info_jwt_payloads)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:296,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:298,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:300,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - ' jwt_payload_path'
    - ' info_iss_or_aud'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - string_value
    - absl::StrAppend
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayload(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                   const std::string& jwt_payload_metadata_name,\n                    const
      std::string& jwt_payload_path,\n                    std::string& info_iss_or_aud)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: key_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:317,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: query
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: header
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    - Dst: cookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - ' headers'
    - "\n        locations"
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - "::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>"
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::extractAPIKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - cookie
    - key_case
    - header
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    - query
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKey(\n    const Envoy::Http::RequestHeaderMap& headers,\n
      \   const ::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>&\n
      \       locations,\n    std::string& api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:344,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:354,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:356,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:358,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:360,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:364,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - response_headers
    - response_trailers
    - ' stream_info'
    - ' info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::StreamInfo::StreamInfo
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 369
    functionName: espv2::envoy::http_filters::service_control::fillStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::optional::value
    - static_cast<StatusCode>
    - absl::optional::has_value
    - Envoy::Grpc::Common::getGrpcStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void fillStatus(const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \               const Envoy::Http::ResponseTrailerMap* response_trailers,\n
      \               const Envoy::StreamInfo::StreamInfo& stream_info,\n                ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:373,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:374,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:381,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:382,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:385,1
    - Dst: absl::string_view::find_last_of
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:388,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:390,1
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:396,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:397,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:398,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:403,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:407,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: Envoy::Network::Utility::parseInternetAddressNoThrow
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:414,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:416,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:417,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:422,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:423,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 424
    functionName: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - size
    - value
    - absl::StrSplit
    - absl::string_view::remove_prefix
    - absl::string_view::find_last_of
    - espv2::api_proxy::service_control::StartsWith
    - Envoy::Network::Utility::parseInternetAddressNoThrow
    - absl::StrCat
    - absl::InvalidArgumentError
    - get
    - absl::StripAsciiWhitespace
    - auto::size
    - absl::string_view::size
    - absl::string_view::substr
    linkageType: ''
    returnType: absl::StatusOr<std::string>
    signature: "absl::StatusOr<std::string> extractIPFromForwardedHeader(\n    const
      Envoy::Http::RequestHeaderMap& headers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 2
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 2
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 2
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 2
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 2
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 2
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 2
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 2
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 2
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 2
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 2
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 2
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:149,1
    - Dst: gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:153,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:154,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:155,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:158,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:159,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:162,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - "\n        filter_config"
    - ' info'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: espv2::envoy::http_filters::service_control::fillGCPInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - zone
    - gcp_attributes
    - project_id
    - platform
    - has_gcp_attributes
    linkageType: ''
    returnType: void
    signature: "void fillGCPInfo(\n    const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \       filter_config,\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderUtility::getAllOfHeaderAsString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:175,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:176,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:177,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:178,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - headers
    - ' log_headers'
    - ' info_header_field'
    argTypes:
    - Envoy::Http::HeaderMap*
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: espv2::envoy::http_filters::service_control::fillLoggedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - auto::result
    - Envoy::Http::HeaderUtility::getAllOfHeaderAsString
    - Envoy::Http::LowerCaseString
    linkageType: ''
    returnType: void
    signature: "void fillLoggedHeader(\n    const Envoy::Http::HeaderMap* headers,\n
      \   const ::google::protobuf::RepeatedPtrField<::std::string>& log_headers,\n
      \   std::string& info_header_field)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:193,1
    - Dst: Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:194,1
    - Dst: ENVOY_BUG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:220,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:221,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:222,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:223,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:224,1
    - Dst: filter_::request_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:230,1
    - Dst: filter_::backend_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:231,1
    - Dst: filter_::overhead_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - ' stream_info'
    - ' latency'
    - ' filter_stats'
    argTypes:
    - Envoy::StreamInfo::StreamInfo
    - LatencyInfo
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 233
    functionName: espv2::envoy::http_filters::service_control::fillLatency
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - ENVOY_BUG
    - filter_::backend_time_::recordValue
    - requestComplete
    - auto::value
    - filter_::request_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
    - espv2::envoy::http_filters::service_control::convertNsToMs
    - responseCodeDetails
    - filter_::overhead_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
    - Envoy::StreamInfo::ResponseCodeDetails::get
    linkageType: ''
    returnType: void
    signature: "void fillLatency(const Envoy::StreamInfo::StreamInfo& stream_info,\n
      \                LatencyInfo& latency,\n                 ServiceControlFilterStats&
      filter_stats)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::ResponseHeaderMap*::getContentTypeValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:239,1
    - Dst: espv2::envoy::http_filters::service_control::isGrpcRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:241,1
    - Dst: protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - response_headers
    - ' stream_info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::StreamInfo::StreamInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::getFrontendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::isGrpcRequest
    - Envoy::Http::ResponseHeaderMap*::getContentTypeValue
    - protocol
    linkageType: ''
    returnType: Protocol
    signature: "Protocol getFrontendProtocol(\n    const Envoy::Http::ResponseHeaderMap*
      response_headers,\n    const Envoy::StreamInfo::StreamInfo& stream_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' service'
    argTypes:
    - Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: espv2::envoy::http_filters::service_control::getBackendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - backend_protocol
    linkageType: ''
    returnType: Protocol
    signature: Protocol getBackendProtocol(const Service& service)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:276,1
    - Dst: std::vector::insert
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: std::vector::begin
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:279,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:281,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:283,1
    - Dst: espv2::envoy::http_filters::service_control::extractJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - "\n                         jwt_payload_paths"
    - ' info_jwt_payloads'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 287
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayloads
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrSplit
    - espv2::envoy::http_filters::service_control::extractJwtPayload
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - std::vector::insert
    - std::vector::begin
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayloads(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                    const std::string& jwt_payload_metadata_name,\n                     const
      ::google::protobuf::RepeatedPtrField<::std::string>&\n                         jwt_payload_paths,\n
      \                    std::string& info_jwt_payloads)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:296,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:298,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:300,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - ' jwt_payload_path'
    - ' info_iss_or_aud'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - string_value
    - absl::StrAppend
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayload(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                   const std::string& jwt_payload_metadata_name,\n                    const
      std::string& jwt_payload_path,\n                    std::string& info_iss_or_aud)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: key_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:317,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: query
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: header
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    - Dst: cookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - ' headers'
    - "\n        locations"
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - "::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>"
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::extractAPIKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - cookie
    - key_case
    - header
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    - query
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKey(\n    const Envoy::Http::RequestHeaderMap& headers,\n
      \   const ::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>&\n
      \       locations,\n    std::string& api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:344,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:354,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:356,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:358,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:360,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:364,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - response_headers
    - response_trailers
    - ' stream_info'
    - ' info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::StreamInfo::StreamInfo
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 369
    functionName: espv2::envoy::http_filters::service_control::fillStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::optional::value
    - static_cast<StatusCode>
    - absl::optional::has_value
    - Envoy::Grpc::Common::getGrpcStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void fillStatus(const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \               const Envoy::Http::ResponseTrailerMap* response_trailers,\n
      \               const Envoy::StreamInfo::StreamInfo& stream_info,\n                ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:373,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:374,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:381,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:382,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:385,1
    - Dst: absl::string_view::find_last_of
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:388,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:390,1
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:396,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:397,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:398,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:403,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:407,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: Envoy::Network::Utility::parseInternetAddressNoThrow
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:414,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:416,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:417,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:422,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:423,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 424
    functionName: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - size
    - value
    - absl::StrSplit
    - absl::string_view::remove_prefix
    - absl::string_view::find_last_of
    - espv2::api_proxy::service_control::StartsWith
    - Envoy::Network::Utility::parseInternetAddressNoThrow
    - absl::StrCat
    - absl::InvalidArgumentError
    - get
    - absl::StripAsciiWhitespace
    - auto::size
    - absl::string_view::size
    - absl::string_view::substr
    linkageType: ''
    returnType: absl::StatusOr<std::string>
    signature: "absl::StatusOr<std::string> extractIPFromForwardedHeader(\n    const
      Envoy::Http::RequestHeaderMap& headers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 3
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 3
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 3
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 3
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 3
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 3
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 3
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 3
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 3
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 3
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 3
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 3
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:149,1
    - Dst: gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:153,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:154,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:155,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:158,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:159,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:162,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - "\n        filter_config"
    - ' info'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: espv2::envoy::http_filters::service_control::fillGCPInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - zone
    - gcp_attributes
    - project_id
    - platform
    - has_gcp_attributes
    linkageType: ''
    returnType: void
    signature: "void fillGCPInfo(\n    const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \       filter_config,\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderUtility::getAllOfHeaderAsString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:175,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:176,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:177,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:178,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - headers
    - ' log_headers'
    - ' info_header_field'
    argTypes:
    - Envoy::Http::HeaderMap*
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: espv2::envoy::http_filters::service_control::fillLoggedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - auto::result
    - Envoy::Http::HeaderUtility::getAllOfHeaderAsString
    - Envoy::Http::LowerCaseString
    linkageType: ''
    returnType: void
    signature: "void fillLoggedHeader(\n    const Envoy::Http::HeaderMap* headers,\n
      \   const ::google::protobuf::RepeatedPtrField<::std::string>& log_headers,\n
      \   std::string& info_header_field)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:193,1
    - Dst: Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:194,1
    - Dst: ENVOY_BUG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:220,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:221,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:222,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:223,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:224,1
    - Dst: filter_::request_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:230,1
    - Dst: filter_::backend_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:231,1
    - Dst: filter_::overhead_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - ' stream_info'
    - ' latency'
    - ' filter_stats'
    argTypes:
    - Envoy::StreamInfo::StreamInfo
    - LatencyInfo
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 233
    functionName: espv2::envoy::http_filters::service_control::fillLatency
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - ENVOY_BUG
    - filter_::backend_time_::recordValue
    - requestComplete
    - auto::value
    - filter_::request_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
    - espv2::envoy::http_filters::service_control::convertNsToMs
    - responseCodeDetails
    - filter_::overhead_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
    - Envoy::StreamInfo::ResponseCodeDetails::get
    linkageType: ''
    returnType: void
    signature: "void fillLatency(const Envoy::StreamInfo::StreamInfo& stream_info,\n
      \                LatencyInfo& latency,\n                 ServiceControlFilterStats&
      filter_stats)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::ResponseHeaderMap*::getContentTypeValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:239,1
    - Dst: espv2::envoy::http_filters::service_control::isGrpcRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:241,1
    - Dst: protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - response_headers
    - ' stream_info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::StreamInfo::StreamInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::getFrontendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::isGrpcRequest
    - Envoy::Http::ResponseHeaderMap*::getContentTypeValue
    - protocol
    linkageType: ''
    returnType: Protocol
    signature: "Protocol getFrontendProtocol(\n    const Envoy::Http::ResponseHeaderMap*
      response_headers,\n    const Envoy::StreamInfo::StreamInfo& stream_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' service'
    argTypes:
    - Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: espv2::envoy::http_filters::service_control::getBackendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - backend_protocol
    linkageType: ''
    returnType: Protocol
    signature: Protocol getBackendProtocol(const Service& service)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:276,1
    - Dst: std::vector::insert
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: std::vector::begin
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:279,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:281,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:283,1
    - Dst: espv2::envoy::http_filters::service_control::extractJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - "\n                         jwt_payload_paths"
    - ' info_jwt_payloads'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 287
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayloads
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrSplit
    - espv2::envoy::http_filters::service_control::extractJwtPayload
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - std::vector::insert
    - std::vector::begin
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayloads(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                    const std::string& jwt_payload_metadata_name,\n                     const
      ::google::protobuf::RepeatedPtrField<::std::string>&\n                         jwt_payload_paths,\n
      \                    std::string& info_jwt_payloads)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:296,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:298,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:300,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - ' jwt_payload_path'
    - ' info_iss_or_aud'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - string_value
    - absl::StrAppend
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayload(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                   const std::string& jwt_payload_metadata_name,\n                    const
      std::string& jwt_payload_path,\n                    std::string& info_iss_or_aud)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: key_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:317,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: query
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: header
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    - Dst: cookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - ' headers'
    - "\n        locations"
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - "::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>"
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::extractAPIKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - cookie
    - key_case
    - header
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    - query
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKey(\n    const Envoy::Http::RequestHeaderMap& headers,\n
      \   const ::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>&\n
      \       locations,\n    std::string& api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:344,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:354,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:356,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:358,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:360,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:364,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - response_headers
    - response_trailers
    - ' stream_info'
    - ' info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::StreamInfo::StreamInfo
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 369
    functionName: espv2::envoy::http_filters::service_control::fillStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::optional::value
    - static_cast<StatusCode>
    - absl::optional::has_value
    - Envoy::Grpc::Common::getGrpcStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void fillStatus(const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \               const Envoy::Http::ResponseTrailerMap* response_trailers,\n
      \               const Envoy::StreamInfo::StreamInfo& stream_info,\n                ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:373,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:374,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:381,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:382,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:385,1
    - Dst: absl::string_view::find_last_of
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:388,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:390,1
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:396,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:397,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:398,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:403,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:407,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: Envoy::Network::Utility::parseInternetAddressNoThrow
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:414,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:416,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:417,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:422,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:423,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 424
    functionName: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - size
    - value
    - absl::StrSplit
    - absl::string_view::remove_prefix
    - absl::string_view::find_last_of
    - espv2::api_proxy::service_control::StartsWith
    - Envoy::Network::Utility::parseInternetAddressNoThrow
    - absl::StrCat
    - absl::InvalidArgumentError
    - get
    - absl::StripAsciiWhitespace
    - auto::size
    - absl::string_view::size
    - absl::string_view::substr
    linkageType: ''
    returnType: absl::StatusOr<std::string>
    signature: "absl::StatusOr<std::string> extractIPFromForwardedHeader(\n    const
      Envoy::Http::RequestHeaderMap& headers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 4
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 4
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 4
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 4
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 4
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 4
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 4
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 4
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 4
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 4
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 4
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 4
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:149,1
    - Dst: gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:153,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:154,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:155,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:158,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:159,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:162,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - "\n        filter_config"
    - ' info'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: espv2::envoy::http_filters::service_control::fillGCPInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - zone
    - gcp_attributes
    - project_id
    - platform
    - has_gcp_attributes
    linkageType: ''
    returnType: void
    signature: "void fillGCPInfo(\n    const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \       filter_config,\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderUtility::getAllOfHeaderAsString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:175,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:176,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:177,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:178,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - headers
    - ' log_headers'
    - ' info_header_field'
    argTypes:
    - Envoy::Http::HeaderMap*
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: espv2::envoy::http_filters::service_control::fillLoggedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - auto::result
    - Envoy::Http::HeaderUtility::getAllOfHeaderAsString
    - Envoy::Http::LowerCaseString
    linkageType: ''
    returnType: void
    signature: "void fillLoggedHeader(\n    const Envoy::Http::HeaderMap* headers,\n
      \   const ::google::protobuf::RepeatedPtrField<::std::string>& log_headers,\n
      \   std::string& info_header_field)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:193,1
    - Dst: Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:194,1
    - Dst: ENVOY_BUG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:220,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:221,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:222,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:223,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:224,1
    - Dst: filter_::request_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:230,1
    - Dst: filter_::backend_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:231,1
    - Dst: filter_::overhead_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - ' stream_info'
    - ' latency'
    - ' filter_stats'
    argTypes:
    - Envoy::StreamInfo::StreamInfo
    - LatencyInfo
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 233
    functionName: espv2::envoy::http_filters::service_control::fillLatency
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - ENVOY_BUG
    - filter_::backend_time_::recordValue
    - requestComplete
    - auto::value
    - filter_::request_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
    - espv2::envoy::http_filters::service_control::convertNsToMs
    - responseCodeDetails
    - filter_::overhead_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
    - Envoy::StreamInfo::ResponseCodeDetails::get
    linkageType: ''
    returnType: void
    signature: "void fillLatency(const Envoy::StreamInfo::StreamInfo& stream_info,\n
      \                LatencyInfo& latency,\n                 ServiceControlFilterStats&
      filter_stats)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::ResponseHeaderMap*::getContentTypeValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:239,1
    - Dst: espv2::envoy::http_filters::service_control::isGrpcRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:241,1
    - Dst: protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - response_headers
    - ' stream_info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::StreamInfo::StreamInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::getFrontendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::isGrpcRequest
    - Envoy::Http::ResponseHeaderMap*::getContentTypeValue
    - protocol
    linkageType: ''
    returnType: Protocol
    signature: "Protocol getFrontendProtocol(\n    const Envoy::Http::ResponseHeaderMap*
      response_headers,\n    const Envoy::StreamInfo::StreamInfo& stream_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' service'
    argTypes:
    - Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: espv2::envoy::http_filters::service_control::getBackendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - backend_protocol
    linkageType: ''
    returnType: Protocol
    signature: Protocol getBackendProtocol(const Service& service)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:276,1
    - Dst: std::vector::insert
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: std::vector::begin
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:279,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:281,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:283,1
    - Dst: espv2::envoy::http_filters::service_control::extractJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - "\n                         jwt_payload_paths"
    - ' info_jwt_payloads'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 287
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayloads
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrSplit
    - espv2::envoy::http_filters::service_control::extractJwtPayload
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - std::vector::insert
    - std::vector::begin
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayloads(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                    const std::string& jwt_payload_metadata_name,\n                     const
      ::google::protobuf::RepeatedPtrField<::std::string>&\n                         jwt_payload_paths,\n
      \                    std::string& info_jwt_payloads)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:296,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:298,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:300,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - ' jwt_payload_path'
    - ' info_iss_or_aud'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - string_value
    - absl::StrAppend
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayload(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                   const std::string& jwt_payload_metadata_name,\n                    const
      std::string& jwt_payload_path,\n                    std::string& info_iss_or_aud)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: key_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:317,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: query
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: header
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    - Dst: cookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - ' headers'
    - "\n        locations"
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - "::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>"
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::extractAPIKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - cookie
    - key_case
    - header
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    - query
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKey(\n    const Envoy::Http::RequestHeaderMap& headers,\n
      \   const ::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>&\n
      \       locations,\n    std::string& api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:344,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:354,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:356,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:358,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:360,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:364,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - response_headers
    - response_trailers
    - ' stream_info'
    - ' info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::StreamInfo::StreamInfo
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 369
    functionName: espv2::envoy::http_filters::service_control::fillStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::optional::value
    - static_cast<StatusCode>
    - absl::optional::has_value
    - Envoy::Grpc::Common::getGrpcStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void fillStatus(const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \               const Envoy::Http::ResponseTrailerMap* response_trailers,\n
      \               const Envoy::StreamInfo::StreamInfo& stream_info,\n                ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:373,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:374,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:381,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:382,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:385,1
    - Dst: absl::string_view::find_last_of
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:388,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:390,1
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:396,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:397,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:398,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:403,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:407,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: Envoy::Network::Utility::parseInternetAddressNoThrow
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:414,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:416,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:417,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:422,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:423,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 424
    functionName: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - size
    - value
    - absl::StrSplit
    - absl::string_view::remove_prefix
    - absl::string_view::find_last_of
    - espv2::api_proxy::service_control::StartsWith
    - Envoy::Network::Utility::parseInternetAddressNoThrow
    - absl::StrCat
    - absl::InvalidArgumentError
    - get
    - absl::StripAsciiWhitespace
    - auto::size
    - absl::string_view::size
    - absl::string_view::substr
    linkageType: ''
    returnType: absl::StatusOr<std::string>
    signature: "absl::StatusOr<std::string> extractIPFromForwardedHeader(\n    const
      Envoy::Http::RequestHeaderMap& headers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 5
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 5
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 5
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 5
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 5
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 5
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 5
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 5
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 5
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 5
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 5
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 5
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:149,1
    - Dst: gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:153,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:154,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:155,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:158,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:159,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:162,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - "\n        filter_config"
    - ' info'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: espv2::envoy::http_filters::service_control::fillGCPInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - zone
    - gcp_attributes
    - project_id
    - platform
    - has_gcp_attributes
    linkageType: ''
    returnType: void
    signature: "void fillGCPInfo(\n    const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \       filter_config,\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderUtility::getAllOfHeaderAsString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:175,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:176,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:177,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:178,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - headers
    - ' log_headers'
    - ' info_header_field'
    argTypes:
    - Envoy::Http::HeaderMap*
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: espv2::envoy::http_filters::service_control::fillLoggedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - auto::result
    - Envoy::Http::HeaderUtility::getAllOfHeaderAsString
    - Envoy::Http::LowerCaseString
    linkageType: ''
    returnType: void
    signature: "void fillLoggedHeader(\n    const Envoy::Http::HeaderMap* headers,\n
      \   const ::google::protobuf::RepeatedPtrField<::std::string>& log_headers,\n
      \   std::string& info_header_field)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:193,1
    - Dst: Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:194,1
    - Dst: ENVOY_BUG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:220,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:221,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:222,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:223,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:224,1
    - Dst: filter_::request_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:230,1
    - Dst: filter_::backend_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:231,1
    - Dst: filter_::overhead_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - ' stream_info'
    - ' latency'
    - ' filter_stats'
    argTypes:
    - Envoy::StreamInfo::StreamInfo
    - LatencyInfo
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 233
    functionName: espv2::envoy::http_filters::service_control::fillLatency
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - ENVOY_BUG
    - filter_::backend_time_::recordValue
    - requestComplete
    - auto::value
    - filter_::request_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
    - espv2::envoy::http_filters::service_control::convertNsToMs
    - responseCodeDetails
    - filter_::overhead_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
    - Envoy::StreamInfo::ResponseCodeDetails::get
    linkageType: ''
    returnType: void
    signature: "void fillLatency(const Envoy::StreamInfo::StreamInfo& stream_info,\n
      \                LatencyInfo& latency,\n                 ServiceControlFilterStats&
      filter_stats)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::ResponseHeaderMap*::getContentTypeValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:239,1
    - Dst: espv2::envoy::http_filters::service_control::isGrpcRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:241,1
    - Dst: protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - response_headers
    - ' stream_info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::StreamInfo::StreamInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::getFrontendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::isGrpcRequest
    - Envoy::Http::ResponseHeaderMap*::getContentTypeValue
    - protocol
    linkageType: ''
    returnType: Protocol
    signature: "Protocol getFrontendProtocol(\n    const Envoy::Http::ResponseHeaderMap*
      response_headers,\n    const Envoy::StreamInfo::StreamInfo& stream_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' service'
    argTypes:
    - Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: espv2::envoy::http_filters::service_control::getBackendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - backend_protocol
    linkageType: ''
    returnType: Protocol
    signature: Protocol getBackendProtocol(const Service& service)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:276,1
    - Dst: std::vector::insert
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: std::vector::begin
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:279,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:281,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:283,1
    - Dst: espv2::envoy::http_filters::service_control::extractJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - "\n                         jwt_payload_paths"
    - ' info_jwt_payloads'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 287
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayloads
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrSplit
    - espv2::envoy::http_filters::service_control::extractJwtPayload
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - std::vector::insert
    - std::vector::begin
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayloads(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                    const std::string& jwt_payload_metadata_name,\n                     const
      ::google::protobuf::RepeatedPtrField<::std::string>&\n                         jwt_payload_paths,\n
      \                    std::string& info_jwt_payloads)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:296,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:298,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:300,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - ' jwt_payload_path'
    - ' info_iss_or_aud'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - string_value
    - absl::StrAppend
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayload(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                   const std::string& jwt_payload_metadata_name,\n                    const
      std::string& jwt_payload_path,\n                    std::string& info_iss_or_aud)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: key_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:317,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: query
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: header
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    - Dst: cookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - ' headers'
    - "\n        locations"
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - "::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>"
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::extractAPIKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - cookie
    - key_case
    - header
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    - query
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKey(\n    const Envoy::Http::RequestHeaderMap& headers,\n
      \   const ::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>&\n
      \       locations,\n    std::string& api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:344,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:354,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:356,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:358,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:360,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:364,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - response_headers
    - response_trailers
    - ' stream_info'
    - ' info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::StreamInfo::StreamInfo
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 369
    functionName: espv2::envoy::http_filters::service_control::fillStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::optional::value
    - static_cast<StatusCode>
    - absl::optional::has_value
    - Envoy::Grpc::Common::getGrpcStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void fillStatus(const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \               const Envoy::Http::ResponseTrailerMap* response_trailers,\n
      \               const Envoy::StreamInfo::StreamInfo& stream_info,\n                ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:373,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:374,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:381,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:382,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:385,1
    - Dst: absl::string_view::find_last_of
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:388,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:390,1
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:396,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:397,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:398,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:403,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:407,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: Envoy::Network::Utility::parseInternetAddressNoThrow
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:414,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:416,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:417,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:422,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:423,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 424
    functionName: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - size
    - value
    - absl::StrSplit
    - absl::string_view::remove_prefix
    - absl::string_view::find_last_of
    - espv2::api_proxy::service_control::StartsWith
    - Envoy::Network::Utility::parseInternetAddressNoThrow
    - absl::StrCat
    - absl::InvalidArgumentError
    - get
    - absl::StripAsciiWhitespace
    - auto::size
    - absl::string_view::size
    - absl::string_view::substr
    linkageType: ''
    returnType: absl::StatusOr<std::string>
    signature: "absl::StatusOr<std::string> extractIPFromForwardedHeader(\n    const
      Envoy::Http::RequestHeaderMap& headers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 6
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 6
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 6
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 6
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 6
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 6
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 6
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 6
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 6
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 6
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 6
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 6
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:149,1
    - Dst: gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:153,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:154,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:155,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:158,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:159,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:162,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - "\n        filter_config"
    - ' info'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: espv2::envoy::http_filters::service_control::fillGCPInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - zone
    - gcp_attributes
    - project_id
    - platform
    - has_gcp_attributes
    linkageType: ''
    returnType: void
    signature: "void fillGCPInfo(\n    const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \       filter_config,\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderUtility::getAllOfHeaderAsString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:175,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:176,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:177,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:178,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - headers
    - ' log_headers'
    - ' info_header_field'
    argTypes:
    - Envoy::Http::HeaderMap*
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: espv2::envoy::http_filters::service_control::fillLoggedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - auto::result
    - Envoy::Http::HeaderUtility::getAllOfHeaderAsString
    - Envoy::Http::LowerCaseString
    linkageType: ''
    returnType: void
    signature: "void fillLoggedHeader(\n    const Envoy::Http::HeaderMap* headers,\n
      \   const ::google::protobuf::RepeatedPtrField<::std::string>& log_headers,\n
      \   std::string& info_header_field)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:193,1
    - Dst: Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:194,1
    - Dst: ENVOY_BUG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:220,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:221,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:222,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:223,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:224,1
    - Dst: filter_::request_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:230,1
    - Dst: filter_::backend_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:231,1
    - Dst: filter_::overhead_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - ' stream_info'
    - ' latency'
    - ' filter_stats'
    argTypes:
    - Envoy::StreamInfo::StreamInfo
    - LatencyInfo
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 233
    functionName: espv2::envoy::http_filters::service_control::fillLatency
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - ENVOY_BUG
    - filter_::backend_time_::recordValue
    - requestComplete
    - auto::value
    - filter_::request_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
    - espv2::envoy::http_filters::service_control::convertNsToMs
    - responseCodeDetails
    - filter_::overhead_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
    - Envoy::StreamInfo::ResponseCodeDetails::get
    linkageType: ''
    returnType: void
    signature: "void fillLatency(const Envoy::StreamInfo::StreamInfo& stream_info,\n
      \                LatencyInfo& latency,\n                 ServiceControlFilterStats&
      filter_stats)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::ResponseHeaderMap*::getContentTypeValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:239,1
    - Dst: espv2::envoy::http_filters::service_control::isGrpcRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:241,1
    - Dst: protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - response_headers
    - ' stream_info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::StreamInfo::StreamInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::getFrontendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::isGrpcRequest
    - Envoy::Http::ResponseHeaderMap*::getContentTypeValue
    - protocol
    linkageType: ''
    returnType: Protocol
    signature: "Protocol getFrontendProtocol(\n    const Envoy::Http::ResponseHeaderMap*
      response_headers,\n    const Envoy::StreamInfo::StreamInfo& stream_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' service'
    argTypes:
    - Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: espv2::envoy::http_filters::service_control::getBackendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - backend_protocol
    linkageType: ''
    returnType: Protocol
    signature: Protocol getBackendProtocol(const Service& service)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:276,1
    - Dst: std::vector::insert
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: std::vector::begin
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:279,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:281,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:283,1
    - Dst: espv2::envoy::http_filters::service_control::extractJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - "\n                         jwt_payload_paths"
    - ' info_jwt_payloads'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 287
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayloads
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrSplit
    - espv2::envoy::http_filters::service_control::extractJwtPayload
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - std::vector::insert
    - std::vector::begin
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayloads(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                    const std::string& jwt_payload_metadata_name,\n                     const
      ::google::protobuf::RepeatedPtrField<::std::string>&\n                         jwt_payload_paths,\n
      \                    std::string& info_jwt_payloads)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:296,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:298,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:300,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - ' jwt_payload_path'
    - ' info_iss_or_aud'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - string_value
    - absl::StrAppend
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayload(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                   const std::string& jwt_payload_metadata_name,\n                    const
      std::string& jwt_payload_path,\n                    std::string& info_iss_or_aud)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: key_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:317,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: query
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: header
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    - Dst: cookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - ' headers'
    - "\n        locations"
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - "::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>"
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::extractAPIKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - cookie
    - key_case
    - header
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    - query
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKey(\n    const Envoy::Http::RequestHeaderMap& headers,\n
      \   const ::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>&\n
      \       locations,\n    std::string& api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:344,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:354,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:356,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:358,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:360,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:364,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - response_headers
    - response_trailers
    - ' stream_info'
    - ' info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::StreamInfo::StreamInfo
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 369
    functionName: espv2::envoy::http_filters::service_control::fillStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::optional::value
    - static_cast<StatusCode>
    - absl::optional::has_value
    - Envoy::Grpc::Common::getGrpcStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void fillStatus(const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \               const Envoy::Http::ResponseTrailerMap* response_trailers,\n
      \               const Envoy::StreamInfo::StreamInfo& stream_info,\n                ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:373,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:374,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:381,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:382,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:385,1
    - Dst: absl::string_view::find_last_of
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:388,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:390,1
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:396,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:397,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:398,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:403,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:407,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: Envoy::Network::Utility::parseInternetAddressNoThrow
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:414,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:416,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:417,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:422,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:423,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 424
    functionName: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - size
    - value
    - absl::StrSplit
    - absl::string_view::remove_prefix
    - absl::string_view::find_last_of
    - espv2::api_proxy::service_control::StartsWith
    - Envoy::Network::Utility::parseInternetAddressNoThrow
    - absl::StrCat
    - absl::InvalidArgumentError
    - get
    - absl::StripAsciiWhitespace
    - auto::size
    - absl::string_view::size
    - absl::string_view::substr
    linkageType: ''
    returnType: absl::StatusOr<std::string>
    signature: "absl::StatusOr<std::string> extractIPFromForwardedHeader(\n    const
      Envoy::Http::RequestHeaderMap& headers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 7
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 7
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 7
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 7
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 7
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 7
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 7
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 7
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 7
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 7
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 7
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 7
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:149,1
    - Dst: gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:153,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:154,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:155,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:158,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:159,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:162,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - "\n        filter_config"
    - ' info'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: espv2::envoy::http_filters::service_control::fillGCPInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - zone
    - gcp_attributes
    - project_id
    - platform
    - has_gcp_attributes
    linkageType: ''
    returnType: void
    signature: "void fillGCPInfo(\n    const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \       filter_config,\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderUtility::getAllOfHeaderAsString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:175,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:176,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:177,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:178,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - headers
    - ' log_headers'
    - ' info_header_field'
    argTypes:
    - Envoy::Http::HeaderMap*
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: espv2::envoy::http_filters::service_control::fillLoggedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - auto::result
    - Envoy::Http::HeaderUtility::getAllOfHeaderAsString
    - Envoy::Http::LowerCaseString
    linkageType: ''
    returnType: void
    signature: "void fillLoggedHeader(\n    const Envoy::Http::HeaderMap* headers,\n
      \   const ::google::protobuf::RepeatedPtrField<::std::string>& log_headers,\n
      \   std::string& info_header_field)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:193,1
    - Dst: Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:194,1
    - Dst: ENVOY_BUG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:220,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:221,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:222,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:223,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:224,1
    - Dst: filter_::request_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:230,1
    - Dst: filter_::backend_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:231,1
    - Dst: filter_::overhead_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - ' stream_info'
    - ' latency'
    - ' filter_stats'
    argTypes:
    - Envoy::StreamInfo::StreamInfo
    - LatencyInfo
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 233
    functionName: espv2::envoy::http_filters::service_control::fillLatency
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - ENVOY_BUG
    - filter_::backend_time_::recordValue
    - requestComplete
    - auto::value
    - filter_::request_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
    - espv2::envoy::http_filters::service_control::convertNsToMs
    - responseCodeDetails
    - filter_::overhead_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
    - Envoy::StreamInfo::ResponseCodeDetails::get
    linkageType: ''
    returnType: void
    signature: "void fillLatency(const Envoy::StreamInfo::StreamInfo& stream_info,\n
      \                LatencyInfo& latency,\n                 ServiceControlFilterStats&
      filter_stats)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::ResponseHeaderMap*::getContentTypeValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:239,1
    - Dst: espv2::envoy::http_filters::service_control::isGrpcRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:241,1
    - Dst: protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - response_headers
    - ' stream_info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::StreamInfo::StreamInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::getFrontendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::isGrpcRequest
    - Envoy::Http::ResponseHeaderMap*::getContentTypeValue
    - protocol
    linkageType: ''
    returnType: Protocol
    signature: "Protocol getFrontendProtocol(\n    const Envoy::Http::ResponseHeaderMap*
      response_headers,\n    const Envoy::StreamInfo::StreamInfo& stream_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' service'
    argTypes:
    - Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: espv2::envoy::http_filters::service_control::getBackendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - backend_protocol
    linkageType: ''
    returnType: Protocol
    signature: Protocol getBackendProtocol(const Service& service)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:276,1
    - Dst: std::vector::insert
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: std::vector::begin
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:279,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:281,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:283,1
    - Dst: espv2::envoy::http_filters::service_control::extractJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - "\n                         jwt_payload_paths"
    - ' info_jwt_payloads'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 287
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayloads
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrSplit
    - espv2::envoy::http_filters::service_control::extractJwtPayload
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - std::vector::insert
    - std::vector::begin
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayloads(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                    const std::string& jwt_payload_metadata_name,\n                     const
      ::google::protobuf::RepeatedPtrField<::std::string>&\n                         jwt_payload_paths,\n
      \                    std::string& info_jwt_payloads)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:296,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:298,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:300,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - ' jwt_payload_path'
    - ' info_iss_or_aud'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - string_value
    - absl::StrAppend
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayload(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                   const std::string& jwt_payload_metadata_name,\n                    const
      std::string& jwt_payload_path,\n                    std::string& info_iss_or_aud)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: key_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:317,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: query
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: header
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    - Dst: cookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - ' headers'
    - "\n        locations"
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - "::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>"
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::extractAPIKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - cookie
    - key_case
    - header
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    - query
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKey(\n    const Envoy::Http::RequestHeaderMap& headers,\n
      \   const ::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>&\n
      \       locations,\n    std::string& api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:344,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:354,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:356,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:358,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:360,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:364,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - response_headers
    - response_trailers
    - ' stream_info'
    - ' info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::StreamInfo::StreamInfo
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 369
    functionName: espv2::envoy::http_filters::service_control::fillStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::optional::value
    - static_cast<StatusCode>
    - absl::optional::has_value
    - Envoy::Grpc::Common::getGrpcStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void fillStatus(const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \               const Envoy::Http::ResponseTrailerMap* response_trailers,\n
      \               const Envoy::StreamInfo::StreamInfo& stream_info,\n                ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:373,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:374,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:381,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:382,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:385,1
    - Dst: absl::string_view::find_last_of
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:388,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:390,1
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:396,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:397,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:398,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:403,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:407,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: Envoy::Network::Utility::parseInternetAddressNoThrow
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:414,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:416,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:417,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:422,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:423,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 424
    functionName: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - size
    - value
    - absl::StrSplit
    - absl::string_view::remove_prefix
    - absl::string_view::find_last_of
    - espv2::api_proxy::service_control::StartsWith
    - Envoy::Network::Utility::parseInternetAddressNoThrow
    - absl::StrCat
    - absl::InvalidArgumentError
    - get
    - absl::StripAsciiWhitespace
    - auto::size
    - absl::string_view::size
    - absl::string_view::substr
    linkageType: ''
    returnType: absl::StatusOr<std::string>
    signature: "absl::StatusOr<std::string> extractIPFromForwardedHeader(\n    const
      Envoy::Http::RequestHeaderMap& headers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 8
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 8
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 8
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 8
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 8
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 8
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 8
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 8
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 8
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 8
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 8
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 8
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:149,1
    - Dst: gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:153,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:154,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:155,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:158,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:159,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:162,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - "\n        filter_config"
    - ' info'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: espv2::envoy::http_filters::service_control::fillGCPInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - zone
    - gcp_attributes
    - project_id
    - platform
    - has_gcp_attributes
    linkageType: ''
    returnType: void
    signature: "void fillGCPInfo(\n    const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \       filter_config,\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderUtility::getAllOfHeaderAsString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:175,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:176,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:177,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:178,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - headers
    - ' log_headers'
    - ' info_header_field'
    argTypes:
    - Envoy::Http::HeaderMap*
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: espv2::envoy::http_filters::service_control::fillLoggedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - auto::result
    - Envoy::Http::HeaderUtility::getAllOfHeaderAsString
    - Envoy::Http::LowerCaseString
    linkageType: ''
    returnType: void
    signature: "void fillLoggedHeader(\n    const Envoy::Http::HeaderMap* headers,\n
      \   const ::google::protobuf::RepeatedPtrField<::std::string>& log_headers,\n
      \   std::string& info_header_field)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:193,1
    - Dst: Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:194,1
    - Dst: ENVOY_BUG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:220,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:221,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:222,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:223,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:224,1
    - Dst: filter_::request_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:230,1
    - Dst: filter_::backend_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:231,1
    - Dst: filter_::overhead_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - ' stream_info'
    - ' latency'
    - ' filter_stats'
    argTypes:
    - Envoy::StreamInfo::StreamInfo
    - LatencyInfo
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 233
    functionName: espv2::envoy::http_filters::service_control::fillLatency
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - ENVOY_BUG
    - filter_::backend_time_::recordValue
    - requestComplete
    - auto::value
    - filter_::request_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
    - espv2::envoy::http_filters::service_control::convertNsToMs
    - responseCodeDetails
    - filter_::overhead_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
    - Envoy::StreamInfo::ResponseCodeDetails::get
    linkageType: ''
    returnType: void
    signature: "void fillLatency(const Envoy::StreamInfo::StreamInfo& stream_info,\n
      \                LatencyInfo& latency,\n                 ServiceControlFilterStats&
      filter_stats)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::ResponseHeaderMap*::getContentTypeValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:239,1
    - Dst: espv2::envoy::http_filters::service_control::isGrpcRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:241,1
    - Dst: protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - response_headers
    - ' stream_info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::StreamInfo::StreamInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::getFrontendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::isGrpcRequest
    - Envoy::Http::ResponseHeaderMap*::getContentTypeValue
    - protocol
    linkageType: ''
    returnType: Protocol
    signature: "Protocol getFrontendProtocol(\n    const Envoy::Http::ResponseHeaderMap*
      response_headers,\n    const Envoy::StreamInfo::StreamInfo& stream_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' service'
    argTypes:
    - Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: espv2::envoy::http_filters::service_control::getBackendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - backend_protocol
    linkageType: ''
    returnType: Protocol
    signature: Protocol getBackendProtocol(const Service& service)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:276,1
    - Dst: std::vector::insert
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: std::vector::begin
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:279,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:281,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:283,1
    - Dst: espv2::envoy::http_filters::service_control::extractJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - "\n                         jwt_payload_paths"
    - ' info_jwt_payloads'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 287
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayloads
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrSplit
    - espv2::envoy::http_filters::service_control::extractJwtPayload
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - std::vector::insert
    - std::vector::begin
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayloads(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                    const std::string& jwt_payload_metadata_name,\n                     const
      ::google::protobuf::RepeatedPtrField<::std::string>&\n                         jwt_payload_paths,\n
      \                    std::string& info_jwt_payloads)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:296,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:298,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:300,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - ' jwt_payload_path'
    - ' info_iss_or_aud'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - string_value
    - absl::StrAppend
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayload(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                   const std::string& jwt_payload_metadata_name,\n                    const
      std::string& jwt_payload_path,\n                    std::string& info_iss_or_aud)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: key_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:317,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: query
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: header
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    - Dst: cookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - ' headers'
    - "\n        locations"
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - "::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>"
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::extractAPIKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - cookie
    - key_case
    - header
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    - query
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKey(\n    const Envoy::Http::RequestHeaderMap& headers,\n
      \   const ::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>&\n
      \       locations,\n    std::string& api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:344,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:354,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:356,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:358,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:360,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:364,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - response_headers
    - response_trailers
    - ' stream_info'
    - ' info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::StreamInfo::StreamInfo
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 369
    functionName: espv2::envoy::http_filters::service_control::fillStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::optional::value
    - static_cast<StatusCode>
    - absl::optional::has_value
    - Envoy::Grpc::Common::getGrpcStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void fillStatus(const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \               const Envoy::Http::ResponseTrailerMap* response_trailers,\n
      \               const Envoy::StreamInfo::StreamInfo& stream_info,\n                ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:373,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:374,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:381,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:382,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:385,1
    - Dst: absl::string_view::find_last_of
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:388,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:390,1
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:396,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:397,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:398,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:403,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:407,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: Envoy::Network::Utility::parseInternetAddressNoThrow
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:414,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:416,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:417,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:422,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:423,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 424
    functionName: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - size
    - value
    - absl::StrSplit
    - absl::string_view::remove_prefix
    - absl::string_view::find_last_of
    - espv2::api_proxy::service_control::StartsWith
    - Envoy::Network::Utility::parseInternetAddressNoThrow
    - absl::StrCat
    - absl::InvalidArgumentError
    - get
    - absl::StripAsciiWhitespace
    - auto::size
    - absl::string_view::size
    - absl::string_view::substr
    linkageType: ''
    returnType: absl::StatusOr<std::string>
    signature: "absl::StatusOr<std::string> extractIPFromForwardedHeader(\n    const
      Envoy::Http::RequestHeaderMap& headers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 9
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 9
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 9
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 9
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 9
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 9
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 9
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 9
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 9
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 9
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 9
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 9
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:149,1
    - Dst: gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:153,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:154,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:155,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:158,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:159,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:162,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - "\n        filter_config"
    - ' info'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: espv2::envoy::http_filters::service_control::fillGCPInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - zone
    - gcp_attributes
    - project_id
    - platform
    - has_gcp_attributes
    linkageType: ''
    returnType: void
    signature: "void fillGCPInfo(\n    const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \       filter_config,\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderUtility::getAllOfHeaderAsString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:175,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:176,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:177,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:178,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - headers
    - ' log_headers'
    - ' info_header_field'
    argTypes:
    - Envoy::Http::HeaderMap*
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: espv2::envoy::http_filters::service_control::fillLoggedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - auto::result
    - Envoy::Http::HeaderUtility::getAllOfHeaderAsString
    - Envoy::Http::LowerCaseString
    linkageType: ''
    returnType: void
    signature: "void fillLoggedHeader(\n    const Envoy::Http::HeaderMap* headers,\n
      \   const ::google::protobuf::RepeatedPtrField<::std::string>& log_headers,\n
      \   std::string& info_header_field)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:193,1
    - Dst: Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:194,1
    - Dst: ENVOY_BUG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:220,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:221,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:222,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:223,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:224,1
    - Dst: filter_::request_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:230,1
    - Dst: filter_::backend_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:231,1
    - Dst: filter_::overhead_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - ' stream_info'
    - ' latency'
    - ' filter_stats'
    argTypes:
    - Envoy::StreamInfo::StreamInfo
    - LatencyInfo
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 233
    functionName: espv2::envoy::http_filters::service_control::fillLatency
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - ENVOY_BUG
    - filter_::backend_time_::recordValue
    - requestComplete
    - auto::value
    - filter_::request_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
    - espv2::envoy::http_filters::service_control::convertNsToMs
    - responseCodeDetails
    - filter_::overhead_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
    - Envoy::StreamInfo::ResponseCodeDetails::get
    linkageType: ''
    returnType: void
    signature: "void fillLatency(const Envoy::StreamInfo::StreamInfo& stream_info,\n
      \                LatencyInfo& latency,\n                 ServiceControlFilterStats&
      filter_stats)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::ResponseHeaderMap*::getContentTypeValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:239,1
    - Dst: espv2::envoy::http_filters::service_control::isGrpcRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:241,1
    - Dst: protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - response_headers
    - ' stream_info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::StreamInfo::StreamInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::getFrontendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::isGrpcRequest
    - Envoy::Http::ResponseHeaderMap*::getContentTypeValue
    - protocol
    linkageType: ''
    returnType: Protocol
    signature: "Protocol getFrontendProtocol(\n    const Envoy::Http::ResponseHeaderMap*
      response_headers,\n    const Envoy::StreamInfo::StreamInfo& stream_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' service'
    argTypes:
    - Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: espv2::envoy::http_filters::service_control::getBackendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - backend_protocol
    linkageType: ''
    returnType: Protocol
    signature: Protocol getBackendProtocol(const Service& service)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:276,1
    - Dst: std::vector::insert
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: std::vector::begin
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:279,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:281,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:283,1
    - Dst: espv2::envoy::http_filters::service_control::extractJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - "\n                         jwt_payload_paths"
    - ' info_jwt_payloads'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 287
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayloads
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrSplit
    - espv2::envoy::http_filters::service_control::extractJwtPayload
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - std::vector::insert
    - std::vector::begin
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayloads(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                    const std::string& jwt_payload_metadata_name,\n                     const
      ::google::protobuf::RepeatedPtrField<::std::string>&\n                         jwt_payload_paths,\n
      \                    std::string& info_jwt_payloads)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:296,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:298,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:300,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - ' jwt_payload_path'
    - ' info_iss_or_aud'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - string_value
    - absl::StrAppend
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayload(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                   const std::string& jwt_payload_metadata_name,\n                    const
      std::string& jwt_payload_path,\n                    std::string& info_iss_or_aud)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: key_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:317,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: query
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: header
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    - Dst: cookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - ' headers'
    - "\n        locations"
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - "::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>"
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::extractAPIKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - cookie
    - key_case
    - header
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    - query
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKey(\n    const Envoy::Http::RequestHeaderMap& headers,\n
      \   const ::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>&\n
      \       locations,\n    std::string& api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:344,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:354,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:356,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:358,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:360,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:364,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - response_headers
    - response_trailers
    - ' stream_info'
    - ' info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::StreamInfo::StreamInfo
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 369
    functionName: espv2::envoy::http_filters::service_control::fillStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::optional::value
    - static_cast<StatusCode>
    - absl::optional::has_value
    - Envoy::Grpc::Common::getGrpcStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void fillStatus(const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \               const Envoy::Http::ResponseTrailerMap* response_trailers,\n
      \               const Envoy::StreamInfo::StreamInfo& stream_info,\n                ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:373,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:374,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:381,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:382,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:385,1
    - Dst: absl::string_view::find_last_of
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:388,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:390,1
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:396,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:397,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:398,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:403,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:407,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: Envoy::Network::Utility::parseInternetAddressNoThrow
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:414,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:416,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:417,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:422,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:423,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 424
    functionName: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - size
    - value
    - absl::StrSplit
    - absl::string_view::remove_prefix
    - absl::string_view::find_last_of
    - espv2::api_proxy::service_control::StartsWith
    - Envoy::Network::Utility::parseInternetAddressNoThrow
    - absl::StrCat
    - absl::InvalidArgumentError
    - get
    - absl::StripAsciiWhitespace
    - auto::size
    - absl::string_view::size
    - absl::string_view::substr
    linkageType: ''
    returnType: absl::StatusOr<std::string>
    signature: "absl::StatusOr<std::string> extractIPFromForwardedHeader(\n    const
      Envoy::Http::RequestHeaderMap& headers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 10
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 10
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 10
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 10
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 10
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 10
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 10
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 10
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 10
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 10
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 10
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 10
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:149,1
    - Dst: gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:153,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:154,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:155,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:158,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:159,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:162,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - "\n        filter_config"
    - ' info'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: espv2::envoy::http_filters::service_control::fillGCPInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - zone
    - gcp_attributes
    - project_id
    - platform
    - has_gcp_attributes
    linkageType: ''
    returnType: void
    signature: "void fillGCPInfo(\n    const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \       filter_config,\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderUtility::getAllOfHeaderAsString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:175,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:176,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:177,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:178,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - headers
    - ' log_headers'
    - ' info_header_field'
    argTypes:
    - Envoy::Http::HeaderMap*
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: espv2::envoy::http_filters::service_control::fillLoggedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - auto::result
    - Envoy::Http::HeaderUtility::getAllOfHeaderAsString
    - Envoy::Http::LowerCaseString
    linkageType: ''
    returnType: void
    signature: "void fillLoggedHeader(\n    const Envoy::Http::HeaderMap* headers,\n
      \   const ::google::protobuf::RepeatedPtrField<::std::string>& log_headers,\n
      \   std::string& info_header_field)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:193,1
    - Dst: Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:194,1
    - Dst: ENVOY_BUG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:220,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:221,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:222,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:223,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:224,1
    - Dst: filter_::request_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:230,1
    - Dst: filter_::backend_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:231,1
    - Dst: filter_::overhead_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - ' stream_info'
    - ' latency'
    - ' filter_stats'
    argTypes:
    - Envoy::StreamInfo::StreamInfo
    - LatencyInfo
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 233
    functionName: espv2::envoy::http_filters::service_control::fillLatency
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - ENVOY_BUG
    - filter_::backend_time_::recordValue
    - requestComplete
    - auto::value
    - filter_::request_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
    - espv2::envoy::http_filters::service_control::convertNsToMs
    - responseCodeDetails
    - filter_::overhead_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
    - Envoy::StreamInfo::ResponseCodeDetails::get
    linkageType: ''
    returnType: void
    signature: "void fillLatency(const Envoy::StreamInfo::StreamInfo& stream_info,\n
      \                LatencyInfo& latency,\n                 ServiceControlFilterStats&
      filter_stats)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::ResponseHeaderMap*::getContentTypeValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:239,1
    - Dst: espv2::envoy::http_filters::service_control::isGrpcRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:241,1
    - Dst: protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - response_headers
    - ' stream_info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::StreamInfo::StreamInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::getFrontendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::isGrpcRequest
    - Envoy::Http::ResponseHeaderMap*::getContentTypeValue
    - protocol
    linkageType: ''
    returnType: Protocol
    signature: "Protocol getFrontendProtocol(\n    const Envoy::Http::ResponseHeaderMap*
      response_headers,\n    const Envoy::StreamInfo::StreamInfo& stream_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' service'
    argTypes:
    - Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: espv2::envoy::http_filters::service_control::getBackendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - backend_protocol
    linkageType: ''
    returnType: Protocol
    signature: Protocol getBackendProtocol(const Service& service)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:276,1
    - Dst: std::vector::insert
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: std::vector::begin
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:279,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:281,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:283,1
    - Dst: espv2::envoy::http_filters::service_control::extractJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - "\n                         jwt_payload_paths"
    - ' info_jwt_payloads'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 287
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayloads
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrSplit
    - espv2::envoy::http_filters::service_control::extractJwtPayload
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - std::vector::insert
    - std::vector::begin
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayloads(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                    const std::string& jwt_payload_metadata_name,\n                     const
      ::google::protobuf::RepeatedPtrField<::std::string>&\n                         jwt_payload_paths,\n
      \                    std::string& info_jwt_payloads)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:296,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:298,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:300,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - ' jwt_payload_path'
    - ' info_iss_or_aud'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - string_value
    - absl::StrAppend
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayload(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                   const std::string& jwt_payload_metadata_name,\n                    const
      std::string& jwt_payload_path,\n                    std::string& info_iss_or_aud)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: key_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:317,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: query
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: header
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    - Dst: cookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - ' headers'
    - "\n        locations"
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - "::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>"
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::extractAPIKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - cookie
    - key_case
    - header
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    - query
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKey(\n    const Envoy::Http::RequestHeaderMap& headers,\n
      \   const ::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>&\n
      \       locations,\n    std::string& api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:344,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:354,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:356,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:358,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:360,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:364,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - response_headers
    - response_trailers
    - ' stream_info'
    - ' info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::StreamInfo::StreamInfo
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 369
    functionName: espv2::envoy::http_filters::service_control::fillStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::optional::value
    - static_cast<StatusCode>
    - absl::optional::has_value
    - Envoy::Grpc::Common::getGrpcStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void fillStatus(const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \               const Envoy::Http::ResponseTrailerMap* response_trailers,\n
      \               const Envoy::StreamInfo::StreamInfo& stream_info,\n                ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:373,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:374,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:381,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:382,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:385,1
    - Dst: absl::string_view::find_last_of
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:388,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:390,1
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:396,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:397,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:398,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:403,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:407,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: Envoy::Network::Utility::parseInternetAddressNoThrow
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:414,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:416,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:417,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:422,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:423,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 424
    functionName: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - size
    - value
    - absl::StrSplit
    - absl::string_view::remove_prefix
    - absl::string_view::find_last_of
    - espv2::api_proxy::service_control::StartsWith
    - Envoy::Network::Utility::parseInternetAddressNoThrow
    - absl::StrCat
    - absl::InvalidArgumentError
    - get
    - absl::StripAsciiWhitespace
    - auto::size
    - absl::string_view::size
    - absl::string_view::substr
    linkageType: ''
    returnType: absl::StatusOr<std::string>
    signature: "absl::StatusOr<std::string> extractIPFromForwardedHeader(\n    const
      Envoy::Http::RequestHeaderMap& headers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 11
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 11
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 11
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 11
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 11
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 11
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 11
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 11
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 11
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 11
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 11
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 11
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:149,1
    - Dst: gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:153,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:154,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:155,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:158,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:159,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:162,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - "\n        filter_config"
    - ' info'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: espv2::envoy::http_filters::service_control::fillGCPInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - zone
    - gcp_attributes
    - project_id
    - platform
    - has_gcp_attributes
    linkageType: ''
    returnType: void
    signature: "void fillGCPInfo(\n    const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \       filter_config,\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderUtility::getAllOfHeaderAsString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:175,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:176,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:177,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:178,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - headers
    - ' log_headers'
    - ' info_header_field'
    argTypes:
    - Envoy::Http::HeaderMap*
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: espv2::envoy::http_filters::service_control::fillLoggedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - auto::result
    - Envoy::Http::HeaderUtility::getAllOfHeaderAsString
    - Envoy::Http::LowerCaseString
    linkageType: ''
    returnType: void
    signature: "void fillLoggedHeader(\n    const Envoy::Http::HeaderMap* headers,\n
      \   const ::google::protobuf::RepeatedPtrField<::std::string>& log_headers,\n
      \   std::string& info_header_field)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:193,1
    - Dst: Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:194,1
    - Dst: ENVOY_BUG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:220,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:221,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:222,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:223,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:224,1
    - Dst: filter_::request_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:230,1
    - Dst: filter_::backend_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:231,1
    - Dst: filter_::overhead_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - ' stream_info'
    - ' latency'
    - ' filter_stats'
    argTypes:
    - Envoy::StreamInfo::StreamInfo
    - LatencyInfo
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 233
    functionName: espv2::envoy::http_filters::service_control::fillLatency
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - ENVOY_BUG
    - filter_::backend_time_::recordValue
    - requestComplete
    - auto::value
    - filter_::request_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
    - espv2::envoy::http_filters::service_control::convertNsToMs
    - responseCodeDetails
    - filter_::overhead_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
    - Envoy::StreamInfo::ResponseCodeDetails::get
    linkageType: ''
    returnType: void
    signature: "void fillLatency(const Envoy::StreamInfo::StreamInfo& stream_info,\n
      \                LatencyInfo& latency,\n                 ServiceControlFilterStats&
      filter_stats)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::ResponseHeaderMap*::getContentTypeValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:239,1
    - Dst: espv2::envoy::http_filters::service_control::isGrpcRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:241,1
    - Dst: protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - response_headers
    - ' stream_info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::StreamInfo::StreamInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::getFrontendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::isGrpcRequest
    - Envoy::Http::ResponseHeaderMap*::getContentTypeValue
    - protocol
    linkageType: ''
    returnType: Protocol
    signature: "Protocol getFrontendProtocol(\n    const Envoy::Http::ResponseHeaderMap*
      response_headers,\n    const Envoy::StreamInfo::StreamInfo& stream_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' service'
    argTypes:
    - Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: espv2::envoy::http_filters::service_control::getBackendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - backend_protocol
    linkageType: ''
    returnType: Protocol
    signature: Protocol getBackendProtocol(const Service& service)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:276,1
    - Dst: std::vector::insert
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: std::vector::begin
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:279,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:281,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:283,1
    - Dst: espv2::envoy::http_filters::service_control::extractJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - "\n                         jwt_payload_paths"
    - ' info_jwt_payloads'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 287
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayloads
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrSplit
    - espv2::envoy::http_filters::service_control::extractJwtPayload
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - std::vector::insert
    - std::vector::begin
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayloads(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                    const std::string& jwt_payload_metadata_name,\n                     const
      ::google::protobuf::RepeatedPtrField<::std::string>&\n                         jwt_payload_paths,\n
      \                    std::string& info_jwt_payloads)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:296,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:298,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:300,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - ' jwt_payload_path'
    - ' info_iss_or_aud'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - string_value
    - absl::StrAppend
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayload(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                   const std::string& jwt_payload_metadata_name,\n                    const
      std::string& jwt_payload_path,\n                    std::string& info_iss_or_aud)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: key_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:317,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: query
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: header
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    - Dst: cookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - ' headers'
    - "\n        locations"
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - "::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>"
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::extractAPIKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - cookie
    - key_case
    - header
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    - query
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKey(\n    const Envoy::Http::RequestHeaderMap& headers,\n
      \   const ::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>&\n
      \       locations,\n    std::string& api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:344,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:354,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:356,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:358,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:360,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:364,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - response_headers
    - response_trailers
    - ' stream_info'
    - ' info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::StreamInfo::StreamInfo
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 369
    functionName: espv2::envoy::http_filters::service_control::fillStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::optional::value
    - static_cast<StatusCode>
    - absl::optional::has_value
    - Envoy::Grpc::Common::getGrpcStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void fillStatus(const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \               const Envoy::Http::ResponseTrailerMap* response_trailers,\n
      \               const Envoy::StreamInfo::StreamInfo& stream_info,\n                ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:373,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:374,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:381,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:382,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:385,1
    - Dst: absl::string_view::find_last_of
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:388,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:390,1
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:396,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:397,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:398,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:403,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:407,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: Envoy::Network::Utility::parseInternetAddressNoThrow
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:414,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:416,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:417,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:422,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:423,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 424
    functionName: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - size
    - value
    - absl::StrSplit
    - absl::string_view::remove_prefix
    - absl::string_view::find_last_of
    - espv2::api_proxy::service_control::StartsWith
    - Envoy::Network::Utility::parseInternetAddressNoThrow
    - absl::StrCat
    - absl::InvalidArgumentError
    - get
    - absl::StripAsciiWhitespace
    - auto::size
    - absl::string_view::size
    - absl::string_view::substr
    linkageType: ''
    returnType: absl::StatusOr<std::string>
    signature: "absl::StatusOr<std::string> extractIPFromForwardedHeader(\n    const
      Envoy::Http::RequestHeaderMap& headers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 12
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 12
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 12
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 12
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 12
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 12
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 12
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 12
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 12
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 12
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 12
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 12
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:149,1
    - Dst: gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:153,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:154,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:155,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:158,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:159,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:162,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - "\n        filter_config"
    - ' info'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: espv2::envoy::http_filters::service_control::fillGCPInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - zone
    - gcp_attributes
    - project_id
    - platform
    - has_gcp_attributes
    linkageType: ''
    returnType: void
    signature: "void fillGCPInfo(\n    const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \       filter_config,\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderUtility::getAllOfHeaderAsString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:175,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:176,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:177,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:178,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - headers
    - ' log_headers'
    - ' info_header_field'
    argTypes:
    - Envoy::Http::HeaderMap*
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: espv2::envoy::http_filters::service_control::fillLoggedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - auto::result
    - Envoy::Http::HeaderUtility::getAllOfHeaderAsString
    - Envoy::Http::LowerCaseString
    linkageType: ''
    returnType: void
    signature: "void fillLoggedHeader(\n    const Envoy::Http::HeaderMap* headers,\n
      \   const ::google::protobuf::RepeatedPtrField<::std::string>& log_headers,\n
      \   std::string& info_header_field)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:193,1
    - Dst: Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:194,1
    - Dst: ENVOY_BUG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:220,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:221,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:222,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:223,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:224,1
    - Dst: filter_::request_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:230,1
    - Dst: filter_::backend_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:231,1
    - Dst: filter_::overhead_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - ' stream_info'
    - ' latency'
    - ' filter_stats'
    argTypes:
    - Envoy::StreamInfo::StreamInfo
    - LatencyInfo
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 233
    functionName: espv2::envoy::http_filters::service_control::fillLatency
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - ENVOY_BUG
    - filter_::backend_time_::recordValue
    - requestComplete
    - auto::value
    - filter_::request_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
    - espv2::envoy::http_filters::service_control::convertNsToMs
    - responseCodeDetails
    - filter_::overhead_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
    - Envoy::StreamInfo::ResponseCodeDetails::get
    linkageType: ''
    returnType: void
    signature: "void fillLatency(const Envoy::StreamInfo::StreamInfo& stream_info,\n
      \                LatencyInfo& latency,\n                 ServiceControlFilterStats&
      filter_stats)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::ResponseHeaderMap*::getContentTypeValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:239,1
    - Dst: espv2::envoy::http_filters::service_control::isGrpcRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:241,1
    - Dst: protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - response_headers
    - ' stream_info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::StreamInfo::StreamInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::getFrontendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::isGrpcRequest
    - Envoy::Http::ResponseHeaderMap*::getContentTypeValue
    - protocol
    linkageType: ''
    returnType: Protocol
    signature: "Protocol getFrontendProtocol(\n    const Envoy::Http::ResponseHeaderMap*
      response_headers,\n    const Envoy::StreamInfo::StreamInfo& stream_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' service'
    argTypes:
    - Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: espv2::envoy::http_filters::service_control::getBackendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - backend_protocol
    linkageType: ''
    returnType: Protocol
    signature: Protocol getBackendProtocol(const Service& service)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:276,1
    - Dst: std::vector::insert
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: std::vector::begin
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:279,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:281,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:283,1
    - Dst: espv2::envoy::http_filters::service_control::extractJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - "\n                         jwt_payload_paths"
    - ' info_jwt_payloads'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 287
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayloads
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrSplit
    - espv2::envoy::http_filters::service_control::extractJwtPayload
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - std::vector::insert
    - std::vector::begin
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayloads(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                    const std::string& jwt_payload_metadata_name,\n                     const
      ::google::protobuf::RepeatedPtrField<::std::string>&\n                         jwt_payload_paths,\n
      \                    std::string& info_jwt_payloads)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:296,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:298,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:300,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - ' jwt_payload_path'
    - ' info_iss_or_aud'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - string_value
    - absl::StrAppend
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayload(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                   const std::string& jwt_payload_metadata_name,\n                    const
      std::string& jwt_payload_path,\n                    std::string& info_iss_or_aud)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: key_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:317,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: query
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: header
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    - Dst: cookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - ' headers'
    - "\n        locations"
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - "::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>"
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::extractAPIKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - cookie
    - key_case
    - header
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    - query
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKey(\n    const Envoy::Http::RequestHeaderMap& headers,\n
      \   const ::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>&\n
      \       locations,\n    std::string& api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:344,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:354,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:356,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:358,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:360,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:364,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - response_headers
    - response_trailers
    - ' stream_info'
    - ' info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::StreamInfo::StreamInfo
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 369
    functionName: espv2::envoy::http_filters::service_control::fillStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::optional::value
    - static_cast<StatusCode>
    - absl::optional::has_value
    - Envoy::Grpc::Common::getGrpcStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void fillStatus(const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \               const Envoy::Http::ResponseTrailerMap* response_trailers,\n
      \               const Envoy::StreamInfo::StreamInfo& stream_info,\n                ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:373,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:374,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:381,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:382,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:385,1
    - Dst: absl::string_view::find_last_of
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:388,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:390,1
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:396,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:397,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:398,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:403,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:407,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: Envoy::Network::Utility::parseInternetAddressNoThrow
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:414,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:416,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:417,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:422,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:423,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 424
    functionName: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - size
    - value
    - absl::StrSplit
    - absl::string_view::remove_prefix
    - absl::string_view::find_last_of
    - espv2::api_proxy::service_control::StartsWith
    - Envoy::Network::Utility::parseInternetAddressNoThrow
    - absl::StrCat
    - absl::InvalidArgumentError
    - get
    - absl::StripAsciiWhitespace
    - auto::size
    - absl::string_view::size
    - absl::string_view::substr
    linkageType: ''
    returnType: absl::StatusOr<std::string>
    signature: "absl::StatusOr<std::string> extractIPFromForwardedHeader(\n    const
      Envoy::Http::RequestHeaderMap& headers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 13
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 13
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 13
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 13
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 13
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 13
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 13
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 13
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 13
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 13
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 13
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 13
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:149,1
    - Dst: gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:153,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:154,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:155,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:158,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:159,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:162,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - "\n        filter_config"
    - ' info'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: espv2::envoy::http_filters::service_control::fillGCPInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - zone
    - gcp_attributes
    - project_id
    - platform
    - has_gcp_attributes
    linkageType: ''
    returnType: void
    signature: "void fillGCPInfo(\n    const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \       filter_config,\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderUtility::getAllOfHeaderAsString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:175,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:176,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:177,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:178,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - headers
    - ' log_headers'
    - ' info_header_field'
    argTypes:
    - Envoy::Http::HeaderMap*
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: espv2::envoy::http_filters::service_control::fillLoggedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - auto::result
    - Envoy::Http::HeaderUtility::getAllOfHeaderAsString
    - Envoy::Http::LowerCaseString
    linkageType: ''
    returnType: void
    signature: "void fillLoggedHeader(\n    const Envoy::Http::HeaderMap* headers,\n
      \   const ::google::protobuf::RepeatedPtrField<::std::string>& log_headers,\n
      \   std::string& info_header_field)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:193,1
    - Dst: Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:194,1
    - Dst: ENVOY_BUG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:220,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:221,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:222,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:223,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:224,1
    - Dst: filter_::request_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:230,1
    - Dst: filter_::backend_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:231,1
    - Dst: filter_::overhead_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - ' stream_info'
    - ' latency'
    - ' filter_stats'
    argTypes:
    - Envoy::StreamInfo::StreamInfo
    - LatencyInfo
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 233
    functionName: espv2::envoy::http_filters::service_control::fillLatency
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - ENVOY_BUG
    - filter_::backend_time_::recordValue
    - requestComplete
    - auto::value
    - filter_::request_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
    - espv2::envoy::http_filters::service_control::convertNsToMs
    - responseCodeDetails
    - filter_::overhead_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
    - Envoy::StreamInfo::ResponseCodeDetails::get
    linkageType: ''
    returnType: void
    signature: "void fillLatency(const Envoy::StreamInfo::StreamInfo& stream_info,\n
      \                LatencyInfo& latency,\n                 ServiceControlFilterStats&
      filter_stats)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::ResponseHeaderMap*::getContentTypeValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:239,1
    - Dst: espv2::envoy::http_filters::service_control::isGrpcRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:241,1
    - Dst: protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - response_headers
    - ' stream_info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::StreamInfo::StreamInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::getFrontendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::isGrpcRequest
    - Envoy::Http::ResponseHeaderMap*::getContentTypeValue
    - protocol
    linkageType: ''
    returnType: Protocol
    signature: "Protocol getFrontendProtocol(\n    const Envoy::Http::ResponseHeaderMap*
      response_headers,\n    const Envoy::StreamInfo::StreamInfo& stream_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' service'
    argTypes:
    - Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: espv2::envoy::http_filters::service_control::getBackendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - backend_protocol
    linkageType: ''
    returnType: Protocol
    signature: Protocol getBackendProtocol(const Service& service)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:276,1
    - Dst: std::vector::insert
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: std::vector::begin
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:279,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:281,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:283,1
    - Dst: espv2::envoy::http_filters::service_control::extractJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - "\n                         jwt_payload_paths"
    - ' info_jwt_payloads'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 287
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayloads
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrSplit
    - espv2::envoy::http_filters::service_control::extractJwtPayload
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - std::vector::insert
    - std::vector::begin
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayloads(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                    const std::string& jwt_payload_metadata_name,\n                     const
      ::google::protobuf::RepeatedPtrField<::std::string>&\n                         jwt_payload_paths,\n
      \                    std::string& info_jwt_payloads)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:296,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:298,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:300,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - ' jwt_payload_path'
    - ' info_iss_or_aud'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - string_value
    - absl::StrAppend
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayload(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                   const std::string& jwt_payload_metadata_name,\n                    const
      std::string& jwt_payload_path,\n                    std::string& info_iss_or_aud)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: key_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:317,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: query
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: header
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    - Dst: cookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - ' headers'
    - "\n        locations"
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - "::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>"
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::extractAPIKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - cookie
    - key_case
    - header
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    - query
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKey(\n    const Envoy::Http::RequestHeaderMap& headers,\n
      \   const ::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>&\n
      \       locations,\n    std::string& api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:344,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:354,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:356,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:358,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:360,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:364,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - response_headers
    - response_trailers
    - ' stream_info'
    - ' info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::StreamInfo::StreamInfo
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 369
    functionName: espv2::envoy::http_filters::service_control::fillStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::optional::value
    - static_cast<StatusCode>
    - absl::optional::has_value
    - Envoy::Grpc::Common::getGrpcStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void fillStatus(const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \               const Envoy::Http::ResponseTrailerMap* response_trailers,\n
      \               const Envoy::StreamInfo::StreamInfo& stream_info,\n                ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:373,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:374,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:381,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:382,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:385,1
    - Dst: absl::string_view::find_last_of
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:388,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:390,1
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:396,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:397,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:398,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:403,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:407,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: Envoy::Network::Utility::parseInternetAddressNoThrow
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:414,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:416,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:417,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:422,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:423,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 424
    functionName: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - size
    - value
    - absl::StrSplit
    - absl::string_view::remove_prefix
    - absl::string_view::find_last_of
    - espv2::api_proxy::service_control::StartsWith
    - Envoy::Network::Utility::parseInternetAddressNoThrow
    - absl::StrCat
    - absl::InvalidArgumentError
    - get
    - absl::StripAsciiWhitespace
    - auto::size
    - absl::string_view::size
    - absl::string_view::substr
    linkageType: ''
    returnType: absl::StatusOr<std::string>
    signature: "absl::StatusOr<std::string> extractIPFromForwardedHeader(\n    const
      Envoy::Http::RequestHeaderMap& headers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 14
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 14
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 14
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 14
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 14
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 14
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 14
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 14
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 14
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 14
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 14
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 14
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:149,1
    - Dst: gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:153,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:154,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:155,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:158,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:159,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:162,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - "\n        filter_config"
    - ' info'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: espv2::envoy::http_filters::service_control::fillGCPInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - zone
    - gcp_attributes
    - project_id
    - platform
    - has_gcp_attributes
    linkageType: ''
    returnType: void
    signature: "void fillGCPInfo(\n    const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \       filter_config,\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderUtility::getAllOfHeaderAsString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:175,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:176,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:177,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:178,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - headers
    - ' log_headers'
    - ' info_header_field'
    argTypes:
    - Envoy::Http::HeaderMap*
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: espv2::envoy::http_filters::service_control::fillLoggedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - auto::result
    - Envoy::Http::HeaderUtility::getAllOfHeaderAsString
    - Envoy::Http::LowerCaseString
    linkageType: ''
    returnType: void
    signature: "void fillLoggedHeader(\n    const Envoy::Http::HeaderMap* headers,\n
      \   const ::google::protobuf::RepeatedPtrField<::std::string>& log_headers,\n
      \   std::string& info_header_field)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:193,1
    - Dst: Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:194,1
    - Dst: ENVOY_BUG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:220,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:221,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:222,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:223,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:224,1
    - Dst: filter_::request_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:230,1
    - Dst: filter_::backend_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:231,1
    - Dst: filter_::overhead_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - ' stream_info'
    - ' latency'
    - ' filter_stats'
    argTypes:
    - Envoy::StreamInfo::StreamInfo
    - LatencyInfo
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 233
    functionName: espv2::envoy::http_filters::service_control::fillLatency
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - ENVOY_BUG
    - filter_::backend_time_::recordValue
    - requestComplete
    - auto::value
    - filter_::request_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
    - espv2::envoy::http_filters::service_control::convertNsToMs
    - responseCodeDetails
    - filter_::overhead_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
    - Envoy::StreamInfo::ResponseCodeDetails::get
    linkageType: ''
    returnType: void
    signature: "void fillLatency(const Envoy::StreamInfo::StreamInfo& stream_info,\n
      \                LatencyInfo& latency,\n                 ServiceControlFilterStats&
      filter_stats)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::ResponseHeaderMap*::getContentTypeValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:239,1
    - Dst: espv2::envoy::http_filters::service_control::isGrpcRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:241,1
    - Dst: protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - response_headers
    - ' stream_info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::StreamInfo::StreamInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::getFrontendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::isGrpcRequest
    - Envoy::Http::ResponseHeaderMap*::getContentTypeValue
    - protocol
    linkageType: ''
    returnType: Protocol
    signature: "Protocol getFrontendProtocol(\n    const Envoy::Http::ResponseHeaderMap*
      response_headers,\n    const Envoy::StreamInfo::StreamInfo& stream_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' service'
    argTypes:
    - Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: espv2::envoy::http_filters::service_control::getBackendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - backend_protocol
    linkageType: ''
    returnType: Protocol
    signature: Protocol getBackendProtocol(const Service& service)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:276,1
    - Dst: std::vector::insert
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: std::vector::begin
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:279,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:281,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:283,1
    - Dst: espv2::envoy::http_filters::service_control::extractJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - "\n                         jwt_payload_paths"
    - ' info_jwt_payloads'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 287
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayloads
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrSplit
    - espv2::envoy::http_filters::service_control::extractJwtPayload
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - std::vector::insert
    - std::vector::begin
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayloads(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                    const std::string& jwt_payload_metadata_name,\n                     const
      ::google::protobuf::RepeatedPtrField<::std::string>&\n                         jwt_payload_paths,\n
      \                    std::string& info_jwt_payloads)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:296,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:298,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:300,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - ' jwt_payload_path'
    - ' info_iss_or_aud'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - string_value
    - absl::StrAppend
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayload(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                   const std::string& jwt_payload_metadata_name,\n                    const
      std::string& jwt_payload_path,\n                    std::string& info_iss_or_aud)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: key_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:317,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: query
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: header
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    - Dst: cookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - ' headers'
    - "\n        locations"
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - "::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>"
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::extractAPIKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - cookie
    - key_case
    - header
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    - query
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKey(\n    const Envoy::Http::RequestHeaderMap& headers,\n
      \   const ::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>&\n
      \       locations,\n    std::string& api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:344,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:354,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:356,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:358,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:360,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:364,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - response_headers
    - response_trailers
    - ' stream_info'
    - ' info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::StreamInfo::StreamInfo
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 369
    functionName: espv2::envoy::http_filters::service_control::fillStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::optional::value
    - static_cast<StatusCode>
    - absl::optional::has_value
    - Envoy::Grpc::Common::getGrpcStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void fillStatus(const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \               const Envoy::Http::ResponseTrailerMap* response_trailers,\n
      \               const Envoy::StreamInfo::StreamInfo& stream_info,\n                ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:373,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:374,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:381,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:382,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:385,1
    - Dst: absl::string_view::find_last_of
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:388,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:390,1
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:396,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:397,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:398,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:403,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:407,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: Envoy::Network::Utility::parseInternetAddressNoThrow
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:414,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:416,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:417,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:422,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:423,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 424
    functionName: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - size
    - value
    - absl::StrSplit
    - absl::string_view::remove_prefix
    - absl::string_view::find_last_of
    - espv2::api_proxy::service_control::StartsWith
    - Envoy::Network::Utility::parseInternetAddressNoThrow
    - absl::StrCat
    - absl::InvalidArgumentError
    - get
    - absl::StripAsciiWhitespace
    - auto::size
    - absl::string_view::size
    - absl::string_view::substr
    linkageType: ''
    returnType: absl::StatusOr<std::string>
    signature: "absl::StatusOr<std::string> extractIPFromForwardedHeader(\n    const
      Envoy::Http::RequestHeaderMap& headers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 15
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 15
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 15
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 15
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 15
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 15
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - std::chrono::nanoseconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::convertNsToMs
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 15
    functionsReached:
    - std::chrono::duration_cast<std::chrono::milliseconds>
    linkageType: ''
    returnType: int64_t
    signature: int64_t convertNsToMs(std::chrono::nanoseconds ns)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:71,1
    - Dst: Envoy::Http::Utility::QueryParamsMulti::parseQueryString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:74,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:75,1
    - Dst: getFirstValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:80,1
    - Dst: std::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ' headers'
    - ' query'
    - ' were_params_parsed'
    - ' parsed_params'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - bool
    - Envoy::Http::Utility::QueryParamsMulti
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 86
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 15
    functionsReached:
    - getFirstValue
    - Envoy::Http::Utility::QueryParamsMulti::parseQueryString
    - std::optional::has_value
    - Path
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromQuery(\n    const Envoy::Http::RequestHeaderMap&
      headers, const std::string& query,\n    bool& were_params_parsed,\n    Envoy::Http::Utility::QueryParamsMulti&
      parsed_params,\n    std::string& api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:91,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:92,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' header'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 15
    functionsReached:
    - value
    - Envoy::Http::LowerCaseString
    - get
    - auto::empty
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromHeader(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& header, std::string&
      api_key)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::parseCookieValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:102,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ' headers'
    - ' cookie'
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 15
    functionsReached:
    - Envoy::Http::Utility::parseCookieValue
    - std::string::empty
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKeyFromCookie(const Envoy::Http::RequestHeaderMap&
      headers,\n                             const std::string& cookie, std::string&
      api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: kind_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:113,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:115,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:118,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: static_cast<long>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: number_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:119,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:123,1
    - Dst: bool_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:124,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:127,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - ' value'
    - ' jwt_payload_path'
    - ' info_jwt_payloads'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::extractJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 15
    functionsReached:
    - string_value
    - kind_case
    - absl::StrAppend
    - static_cast<long>
    - number_value
    - std::to_string
    - bool_value
    linkageType: ''
    returnType: void
    signature: "void extractJwtPayload(const Envoy::ProtobufWkt::Value& value,\n                       const
      std::string& jwt_payload_path,\n                       std::string& info_jwt_payloads)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - content_type
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::isGrpcRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 15
    functionsReached:
    - espv2::api_proxy::service_control::StartsWith
    linkageType: ''
    returnType: bool
    signature: bool isGrpcRequest(absl::string_view content_type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: has_gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:149,1
    - Dst: gcp_attributes
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:153,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:154,1
    - Dst: zone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:155,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:158,1
    - Dst: platform
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:159,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:162,1
    - Dst: project_id
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - "\n        filter_config"
    - ' info'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 165
    functionName: espv2::envoy::http_filters::service_control::fillGCPInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - zone
    - gcp_attributes
    - project_id
    - platform
    - has_gcp_attributes
    linkageType: ''
    returnType: void
    signature: "void fillGCPInfo(\n    const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \       filter_config,\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderUtility::getAllOfHeaderAsString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:175,1
    - Dst: Envoy::Http::LowerCaseString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:176,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:177,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:178,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - headers
    - ' log_headers'
    - ' info_header_field'
    argTypes:
    - Envoy::Http::HeaderMap*
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: espv2::envoy::http_filters::service_control::fillLoggedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrAppend
    - auto::result
    - Envoy::Http::HeaderUtility::getAllOfHeaderAsString
    - Envoy::Http::LowerCaseString
    linkageType: ''
    returnType: void
    signature: "void fillLoggedHeader(\n    const Envoy::Http::HeaderMap* headers,\n
      \   const ::google::protobuf::RepeatedPtrField<::std::string>& log_headers,\n
      \   std::string& info_header_field)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: requestComplete
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:189,1
    - Dst: Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:193,1
    - Dst: Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:194,1
    - Dst: ENVOY_BUG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:196,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:197,1
    - Dst: espv2::envoy::http_filters::service_control::convertNsToMs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:211,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:220,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:221,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:222,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:223,1
    - Dst: Envoy::StreamInfo::ResponseCodeDetails::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:224,1
    - Dst: filter_::request_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:230,1
    - Dst: filter_::backend_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:231,1
    - Dst: filter_::overhead_time_::recordValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - ' stream_info'
    - ' latency'
    - ' filter_stats'
    argTypes:
    - Envoy::StreamInfo::StreamInfo
    - LatencyInfo
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 233
    functionName: espv2::envoy::http_filters::service_control::fillLatency
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - ENVOY_BUG
    - filter_::backend_time_::recordValue
    - requestComplete
    - auto::value
    - filter_::request_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::firstUpstreamTxByteSent
    - espv2::envoy::http_filters::service_control::convertNsToMs
    - responseCodeDetails
    - filter_::overhead_time_::recordValue
    - Envoy::StreamInfo::TimingUtility::lastUpstreamRxByteReceived
    - Envoy::StreamInfo::ResponseCodeDetails::get
    linkageType: ''
    returnType: void
    signature: "void fillLatency(const Envoy::StreamInfo::StreamInfo& stream_info,\n
      \                LatencyInfo& latency,\n                 ServiceControlFilterStats&
      filter_stats)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::ResponseHeaderMap*::getContentTypeValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:239,1
    - Dst: espv2::envoy::http_filters::service_control::isGrpcRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:241,1
    - Dst: protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - response_headers
    - ' stream_info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::StreamInfo::StreamInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::getFrontendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::isGrpcRequest
    - Envoy::Http::ResponseHeaderMap*::getContentTypeValue
    - protocol
    linkageType: ''
    returnType: Protocol
    signature: "Protocol getFrontendProtocol(\n    const Envoy::Http::ResponseHeaderMap*
      response_headers,\n    const Envoy::StreamInfo::StreamInfo& stream_info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ' service'
    argTypes:
    - Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: espv2::envoy::http_filters::service_control::getBackendProtocol
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - backend_protocol
    linkageType: ''
    returnType: Protocol
    signature: Protocol getBackendProtocol(const Service& service)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:276,1
    - Dst: std::vector::insert
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: std::vector::begin
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:277,1
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:279,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:281,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:283,1
    - Dst: espv2::envoy::http_filters::service_control::extractJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - "\n                         jwt_payload_paths"
    - ' info_jwt_payloads'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - ::google::protobuf::RepeatedPtrField<::std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 287
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayloads
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::StrSplit
    - espv2::envoy::http_filters::service_control::extractJwtPayload
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - std::vector::insert
    - std::vector::begin
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayloads(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                    const std::string& jwt_payload_metadata_name,\n                     const
      ::google::protobuf::RepeatedPtrField<::std::string>&\n                         jwt_payload_paths,\n
      \                    std::string& info_jwt_payloads)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Config::Metadata::metadataValue
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:296,1
    - Dst: Envoy::Extensions::HttpFilters::HttpFilterNames::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:298,1
    - Dst: Envoy::ProtobufWkt::Value::default_instance
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:300,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    - Dst: string_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' metadata'
    - ' jwt_payload_metadata_name'
    - ' jwt_payload_path'
    - ' info_iss_or_aud'
    argTypes:
    - ::envoy::config::core::v3::Metadata
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 303
    functionName: espv2::envoy::http_filters::service_control::fillJwtPayload
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - string_value
    - absl::StrAppend
    - Envoy::Extensions::HttpFilters::HttpFilterNames::get
    - Envoy::Config::Metadata::metadataValue
    - Envoy::ProtobufWkt::Value::default_instance
    linkageType: ''
    returnType: void
    signature: "void fillJwtPayload(const ::envoy::config::core::v3::Metadata& metadata,\n
      \                   const std::string& jwt_payload_metadata_name,\n                    const
      std::string& jwt_payload_path,\n                    std::string& info_iss_or_aud)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: key_case
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:317,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: query
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:319,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: header
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:324,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    - Dst: cookie
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - ' headers'
    - "\n        locations"
    - ' api_key'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - "::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>"
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 336
    functionName: espv2::envoy::http_filters::service_control::extractAPIKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - cookie
    - key_case
    - header
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
    - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
    - query
    linkageType: ''
    returnType: bool
    signature: "bool extractAPIKey(\n    const Envoy::Http::RequestHeaderMap& headers,\n
      \   const ::google::protobuf::RepeatedPtrField<\n        ::espv2::api::envoy::v12::http::service_control::ApiKeyLocation>&\n
      \       locations,\n    std::string& api_key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:344,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:354,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:356,1
    - Dst: Envoy::Grpc::Common::getGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:358,1
    - Dst: absl::optional::has_value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:360,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:364,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    - Dst: absl::optional::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - response_headers
    - response_trailers
    - ' stream_info'
    - ' info'
    argTypes:
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::StreamInfo::StreamInfo
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 369
    functionName: espv2::envoy::http_filters::service_control::fillStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - absl::optional::value
    - static_cast<StatusCode>
    - absl::optional::has_value
    - Envoy::Grpc::Common::getGrpcStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void fillStatus(const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \               const Envoy::Http::ResponseTrailerMap* response_trailers,\n
      \               const Envoy::StreamInfo::StreamInfo& stream_info,\n                ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:373,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:374,1
    - Dst: auto::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:381,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:382,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:385,1
    - Dst: absl::string_view::find_last_of
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:388,1
    - Dst: absl::string_view::remove_prefix
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:390,1
    - Dst: absl::StrSplit
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:396,1
    - Dst: absl::StripAsciiWhitespace
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:397,1
    - Dst: espv2::api_proxy::service_control::StartsWith
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:398,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:399,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:403,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:404,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:407,1
    - Dst: absl::string_view::substr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: absl::string_view::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:408,1
    - Dst: Envoy::Network::Utility::parseInternetAddressNoThrow
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:414,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:416,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:417,1
    - Dst: absl::InvalidArgumentError
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:422,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc:423,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 424
    functionName: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
    functionUses: 0
    functionsReached:
    - size
    - value
    - absl::StrSplit
    - absl::string_view::remove_prefix
    - absl::string_view::find_last_of
    - espv2::api_proxy::service_control::StartsWith
    - Envoy::Network::Utility::parseInternetAddressNoThrow
    - absl::StrCat
    - absl::InvalidArgumentError
    - get
    - absl::StripAsciiWhitespace
    - auto::size
    - absl::string_view::size
    - absl::string_view::substr
    linkageType: ''
    returnType: absl::StatusOr<std::string>
    signature: "absl::StatusOr<std::string> extractIPFromForwardedHeader(\n    const
      Envoy::Http::RequestHeaderMap& headers)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:31,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 1
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilter::onDestroy()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:39,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:41,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:42,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:44,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:50,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:57,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:65,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:70,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - streamInfo
    - fillFilterState
    - createHandler
    - activeSpan
    - callCheck
    - Method
    - ENVOY_LOG
    - Path
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus ServiceControlFilter::decodeHeaders(\n
      \   Envoy::Http::RequestHeaderMap& headers, bool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:87,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:90,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: static_cast<Envoy::Http::Code>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: filter_::allowed_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:97,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' status'
    - rc_detail
    argTypes:
    - absl::Status
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ok
    - code
    - ToString
    - filter_::allowed_::inc
    - static_cast<Envoy::Http::Code>
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::onCheckDone(const absl::Status& status,\n
      \                                      absl::string_view rc_detail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:107,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:110,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - code
    - error_msg
    - rc_detail
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 2
    functionsReached:
    - streamInfo
    - sendLocalReply
    - filter_::denied_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::rejectRequest(Envoy::Http::Code code,\n
      \                                        absl::string_view error_msg,\n                                         absl::string_view
      rc_detail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterDataStatus
    signature: "Envoy::Http::FilterDataStatus ServiceControlFilter::decodeData(\n
      \   Envoy::Buffer::Instance&, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterTrailersStatus
    signature: "Envoy::Http::FilterTrailersStatus ServiceControlFilter::decodeTrailers(\n
      \   Envoy::Http::RequestTrailerMap&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:137,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:143,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Envoy::Formatter::HttpFormatterContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::log
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - callReport
    - responseTrailers
    - createHandler
    - requestHeaders
    - activeSpan
    - responseHeaders
    - ENVOY_LOG
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::log(\n    const Envoy::Formatter::HttpFormatterContext&
      context,\n    const Envoy::StreamInfo::StreamInfo&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:31,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 2
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilter::onDestroy()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:39,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:41,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:42,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:44,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:50,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:57,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:65,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:70,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - streamInfo
    - fillFilterState
    - createHandler
    - activeSpan
    - callCheck
    - Method
    - ENVOY_LOG
    - Path
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus ServiceControlFilter::decodeHeaders(\n
      \   Envoy::Http::RequestHeaderMap& headers, bool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:87,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:90,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: static_cast<Envoy::Http::Code>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: filter_::allowed_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:97,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' status'
    - rc_detail
    argTypes:
    - absl::Status
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ok
    - code
    - ToString
    - filter_::allowed_::inc
    - static_cast<Envoy::Http::Code>
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::onCheckDone(const absl::Status& status,\n
      \                                      absl::string_view rc_detail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:107,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:110,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - code
    - error_msg
    - rc_detail
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 4
    functionsReached:
    - streamInfo
    - sendLocalReply
    - filter_::denied_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::rejectRequest(Envoy::Http::Code code,\n
      \                                        absl::string_view error_msg,\n                                         absl::string_view
      rc_detail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterDataStatus
    signature: "Envoy::Http::FilterDataStatus ServiceControlFilter::decodeData(\n
      \   Envoy::Buffer::Instance&, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterTrailersStatus
    signature: "Envoy::Http::FilterTrailersStatus ServiceControlFilter::decodeTrailers(\n
      \   Envoy::Http::RequestTrailerMap&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:137,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:143,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Envoy::Formatter::HttpFormatterContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::log
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - callReport
    - responseTrailers
    - createHandler
    - requestHeaders
    - activeSpan
    - responseHeaders
    - ENVOY_LOG
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::log(\n    const Envoy::Formatter::HttpFormatterContext&
      context,\n    const Envoy::StreamInfo::StreamInfo&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:31,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 3
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilter::onDestroy()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:39,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:41,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:42,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:44,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:50,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:57,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:65,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:70,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - streamInfo
    - fillFilterState
    - createHandler
    - activeSpan
    - callCheck
    - Method
    - ENVOY_LOG
    - Path
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus ServiceControlFilter::decodeHeaders(\n
      \   Envoy::Http::RequestHeaderMap& headers, bool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:87,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:90,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: static_cast<Envoy::Http::Code>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: filter_::allowed_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:97,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' status'
    - rc_detail
    argTypes:
    - absl::Status
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ok
    - code
    - ToString
    - filter_::allowed_::inc
    - static_cast<Envoy::Http::Code>
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::onCheckDone(const absl::Status& status,\n
      \                                      absl::string_view rc_detail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:107,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:110,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - code
    - error_msg
    - rc_detail
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 6
    functionsReached:
    - streamInfo
    - sendLocalReply
    - filter_::denied_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::rejectRequest(Envoy::Http::Code code,\n
      \                                        absl::string_view error_msg,\n                                         absl::string_view
      rc_detail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterDataStatus
    signature: "Envoy::Http::FilterDataStatus ServiceControlFilter::decodeData(\n
      \   Envoy::Buffer::Instance&, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterTrailersStatus
    signature: "Envoy::Http::FilterTrailersStatus ServiceControlFilter::decodeTrailers(\n
      \   Envoy::Http::RequestTrailerMap&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:137,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:143,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Envoy::Formatter::HttpFormatterContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::log
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - callReport
    - responseTrailers
    - createHandler
    - requestHeaders
    - activeSpan
    - responseHeaders
    - ENVOY_LOG
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::log(\n    const Envoy::Formatter::HttpFormatterContext&
      context,\n    const Envoy::StreamInfo::StreamInfo&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:31,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 4
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilter::onDestroy()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:39,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:41,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:42,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:44,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:50,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:57,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:65,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:70,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - streamInfo
    - fillFilterState
    - createHandler
    - activeSpan
    - callCheck
    - Method
    - ENVOY_LOG
    - Path
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus ServiceControlFilter::decodeHeaders(\n
      \   Envoy::Http::RequestHeaderMap& headers, bool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:87,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:90,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: static_cast<Envoy::Http::Code>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: filter_::allowed_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:97,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' status'
    - rc_detail
    argTypes:
    - absl::Status
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ok
    - code
    - ToString
    - filter_::allowed_::inc
    - static_cast<Envoy::Http::Code>
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::onCheckDone(const absl::Status& status,\n
      \                                      absl::string_view rc_detail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:107,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:110,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - code
    - error_msg
    - rc_detail
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 8
    functionsReached:
    - streamInfo
    - sendLocalReply
    - filter_::denied_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::rejectRequest(Envoy::Http::Code code,\n
      \                                        absl::string_view error_msg,\n                                         absl::string_view
      rc_detail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterDataStatus
    signature: "Envoy::Http::FilterDataStatus ServiceControlFilter::decodeData(\n
      \   Envoy::Buffer::Instance&, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterTrailersStatus
    signature: "Envoy::Http::FilterTrailersStatus ServiceControlFilter::decodeTrailers(\n
      \   Envoy::Http::RequestTrailerMap&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:137,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:143,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Envoy::Formatter::HttpFormatterContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::log
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - callReport
    - responseTrailers
    - createHandler
    - requestHeaders
    - activeSpan
    - responseHeaders
    - ENVOY_LOG
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::log(\n    const Envoy::Formatter::HttpFormatterContext&
      context,\n    const Envoy::StreamInfo::StreamInfo&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:31,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 5
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilter::onDestroy()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:39,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:41,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:42,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:44,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:50,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:57,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:65,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:70,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - streamInfo
    - fillFilterState
    - createHandler
    - activeSpan
    - callCheck
    - Method
    - ENVOY_LOG
    - Path
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus ServiceControlFilter::decodeHeaders(\n
      \   Envoy::Http::RequestHeaderMap& headers, bool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:87,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:90,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: static_cast<Envoy::Http::Code>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: filter_::allowed_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:97,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' status'
    - rc_detail
    argTypes:
    - absl::Status
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ok
    - code
    - ToString
    - filter_::allowed_::inc
    - static_cast<Envoy::Http::Code>
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::onCheckDone(const absl::Status& status,\n
      \                                      absl::string_view rc_detail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:107,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:110,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - code
    - error_msg
    - rc_detail
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 10
    functionsReached:
    - streamInfo
    - sendLocalReply
    - filter_::denied_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::rejectRequest(Envoy::Http::Code code,\n
      \                                        absl::string_view error_msg,\n                                         absl::string_view
      rc_detail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterDataStatus
    signature: "Envoy::Http::FilterDataStatus ServiceControlFilter::decodeData(\n
      \   Envoy::Buffer::Instance&, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterTrailersStatus
    signature: "Envoy::Http::FilterTrailersStatus ServiceControlFilter::decodeTrailers(\n
      \   Envoy::Http::RequestTrailerMap&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:137,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:143,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Envoy::Formatter::HttpFormatterContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::log
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - callReport
    - responseTrailers
    - createHandler
    - requestHeaders
    - activeSpan
    - responseHeaders
    - ENVOY_LOG
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::log(\n    const Envoy::Formatter::HttpFormatterContext&
      context,\n    const Envoy::StreamInfo::StreamInfo&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:31,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 6
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilter::onDestroy()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:39,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:41,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:42,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:44,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:50,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:57,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:65,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:70,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - streamInfo
    - fillFilterState
    - createHandler
    - activeSpan
    - callCheck
    - Method
    - ENVOY_LOG
    - Path
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus ServiceControlFilter::decodeHeaders(\n
      \   Envoy::Http::RequestHeaderMap& headers, bool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:87,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:90,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: static_cast<Envoy::Http::Code>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: filter_::allowed_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:97,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' status'
    - rc_detail
    argTypes:
    - absl::Status
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ok
    - code
    - ToString
    - filter_::allowed_::inc
    - static_cast<Envoy::Http::Code>
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::onCheckDone(const absl::Status& status,\n
      \                                      absl::string_view rc_detail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:107,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:110,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - code
    - error_msg
    - rc_detail
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 12
    functionsReached:
    - streamInfo
    - sendLocalReply
    - filter_::denied_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::rejectRequest(Envoy::Http::Code code,\n
      \                                        absl::string_view error_msg,\n                                         absl::string_view
      rc_detail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterDataStatus
    signature: "Envoy::Http::FilterDataStatus ServiceControlFilter::decodeData(\n
      \   Envoy::Buffer::Instance&, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterTrailersStatus
    signature: "Envoy::Http::FilterTrailersStatus ServiceControlFilter::decodeTrailers(\n
      \   Envoy::Http::RequestTrailerMap&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:137,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:143,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Envoy::Formatter::HttpFormatterContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::log
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - callReport
    - responseTrailers
    - createHandler
    - requestHeaders
    - activeSpan
    - responseHeaders
    - ENVOY_LOG
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::log(\n    const Envoy::Formatter::HttpFormatterContext&
      context,\n    const Envoy::StreamInfo::StreamInfo&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:31,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 7
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilter::onDestroy()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:39,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:41,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:42,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:44,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:50,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:57,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:65,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:70,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - streamInfo
    - fillFilterState
    - createHandler
    - activeSpan
    - callCheck
    - Method
    - ENVOY_LOG
    - Path
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus ServiceControlFilter::decodeHeaders(\n
      \   Envoy::Http::RequestHeaderMap& headers, bool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:87,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:90,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: static_cast<Envoy::Http::Code>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: filter_::allowed_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:97,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' status'
    - rc_detail
    argTypes:
    - absl::Status
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ok
    - code
    - ToString
    - filter_::allowed_::inc
    - static_cast<Envoy::Http::Code>
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::onCheckDone(const absl::Status& status,\n
      \                                      absl::string_view rc_detail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:107,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:110,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - code
    - error_msg
    - rc_detail
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 14
    functionsReached:
    - streamInfo
    - sendLocalReply
    - filter_::denied_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::rejectRequest(Envoy::Http::Code code,\n
      \                                        absl::string_view error_msg,\n                                         absl::string_view
      rc_detail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterDataStatus
    signature: "Envoy::Http::FilterDataStatus ServiceControlFilter::decodeData(\n
      \   Envoy::Buffer::Instance&, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterTrailersStatus
    signature: "Envoy::Http::FilterTrailersStatus ServiceControlFilter::decodeTrailers(\n
      \   Envoy::Http::RequestTrailerMap&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:137,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:143,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Envoy::Formatter::HttpFormatterContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::log
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - callReport
    - responseTrailers
    - createHandler
    - requestHeaders
    - activeSpan
    - responseHeaders
    - ENVOY_LOG
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::log(\n    const Envoy::Formatter::HttpFormatterContext&
      context,\n    const Envoy::StreamInfo::StreamInfo&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:31,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 8
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilter::onDestroy()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:39,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:41,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:42,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:44,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:50,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:57,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:65,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:70,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - streamInfo
    - fillFilterState
    - createHandler
    - activeSpan
    - callCheck
    - Method
    - ENVOY_LOG
    - Path
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus ServiceControlFilter::decodeHeaders(\n
      \   Envoy::Http::RequestHeaderMap& headers, bool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:87,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:90,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: static_cast<Envoy::Http::Code>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: filter_::allowed_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:97,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' status'
    - rc_detail
    argTypes:
    - absl::Status
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ok
    - code
    - ToString
    - filter_::allowed_::inc
    - static_cast<Envoy::Http::Code>
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::onCheckDone(const absl::Status& status,\n
      \                                      absl::string_view rc_detail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:107,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:110,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - code
    - error_msg
    - rc_detail
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 16
    functionsReached:
    - streamInfo
    - sendLocalReply
    - filter_::denied_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::rejectRequest(Envoy::Http::Code code,\n
      \                                        absl::string_view error_msg,\n                                         absl::string_view
      rc_detail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterDataStatus
    signature: "Envoy::Http::FilterDataStatus ServiceControlFilter::decodeData(\n
      \   Envoy::Buffer::Instance&, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterTrailersStatus
    signature: "Envoy::Http::FilterTrailersStatus ServiceControlFilter::decodeTrailers(\n
      \   Envoy::Http::RequestTrailerMap&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:137,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:143,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Envoy::Formatter::HttpFormatterContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::log
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - callReport
    - responseTrailers
    - createHandler
    - requestHeaders
    - activeSpan
    - responseHeaders
    - ENVOY_LOG
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::log(\n    const Envoy::Formatter::HttpFormatterContext&
      context,\n    const Envoy::StreamInfo::StreamInfo&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:31,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 9
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilter::onDestroy()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:39,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:41,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:42,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:44,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:50,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:57,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:65,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:70,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - streamInfo
    - fillFilterState
    - createHandler
    - activeSpan
    - callCheck
    - Method
    - ENVOY_LOG
    - Path
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus ServiceControlFilter::decodeHeaders(\n
      \   Envoy::Http::RequestHeaderMap& headers, bool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:87,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:90,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: static_cast<Envoy::Http::Code>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: filter_::allowed_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:97,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' status'
    - rc_detail
    argTypes:
    - absl::Status
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ok
    - code
    - ToString
    - filter_::allowed_::inc
    - static_cast<Envoy::Http::Code>
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::onCheckDone(const absl::Status& status,\n
      \                                      absl::string_view rc_detail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:107,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:110,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - code
    - error_msg
    - rc_detail
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 18
    functionsReached:
    - streamInfo
    - sendLocalReply
    - filter_::denied_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::rejectRequest(Envoy::Http::Code code,\n
      \                                        absl::string_view error_msg,\n                                         absl::string_view
      rc_detail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterDataStatus
    signature: "Envoy::Http::FilterDataStatus ServiceControlFilter::decodeData(\n
      \   Envoy::Buffer::Instance&, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterTrailersStatus
    signature: "Envoy::Http::FilterTrailersStatus ServiceControlFilter::decodeTrailers(\n
      \   Envoy::Http::RequestTrailerMap&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:137,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:143,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Envoy::Formatter::HttpFormatterContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::log
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - callReport
    - responseTrailers
    - createHandler
    - requestHeaders
    - activeSpan
    - responseHeaders
    - ENVOY_LOG
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::log(\n    const Envoy::Formatter::HttpFormatterContext&
      context,\n    const Envoy::StreamInfo::StreamInfo&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:31,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 10
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilter::onDestroy()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:39,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:41,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:42,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:44,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:50,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:57,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:65,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:70,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - streamInfo
    - fillFilterState
    - createHandler
    - activeSpan
    - callCheck
    - Method
    - ENVOY_LOG
    - Path
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus ServiceControlFilter::decodeHeaders(\n
      \   Envoy::Http::RequestHeaderMap& headers, bool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:87,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:90,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: static_cast<Envoy::Http::Code>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: filter_::allowed_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:97,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' status'
    - rc_detail
    argTypes:
    - absl::Status
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ok
    - code
    - ToString
    - filter_::allowed_::inc
    - static_cast<Envoy::Http::Code>
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::onCheckDone(const absl::Status& status,\n
      \                                      absl::string_view rc_detail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:107,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:110,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - code
    - error_msg
    - rc_detail
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 20
    functionsReached:
    - streamInfo
    - sendLocalReply
    - filter_::denied_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::rejectRequest(Envoy::Http::Code code,\n
      \                                        absl::string_view error_msg,\n                                         absl::string_view
      rc_detail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterDataStatus
    signature: "Envoy::Http::FilterDataStatus ServiceControlFilter::decodeData(\n
      \   Envoy::Buffer::Instance&, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterTrailersStatus
    signature: "Envoy::Http::FilterTrailersStatus ServiceControlFilter::decodeTrailers(\n
      \   Envoy::Http::RequestTrailerMap&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:137,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:143,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Envoy::Formatter::HttpFormatterContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::log
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - callReport
    - responseTrailers
    - createHandler
    - requestHeaders
    - activeSpan
    - responseHeaders
    - ENVOY_LOG
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::log(\n    const Envoy::Formatter::HttpFormatterContext&
      context,\n    const Envoy::StreamInfo::StreamInfo&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:31,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 11
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilter::onDestroy()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:39,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:41,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:42,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:44,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:50,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:57,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:65,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:70,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - streamInfo
    - fillFilterState
    - createHandler
    - activeSpan
    - callCheck
    - Method
    - ENVOY_LOG
    - Path
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus ServiceControlFilter::decodeHeaders(\n
      \   Envoy::Http::RequestHeaderMap& headers, bool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:87,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:90,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: static_cast<Envoy::Http::Code>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: filter_::allowed_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:97,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' status'
    - rc_detail
    argTypes:
    - absl::Status
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ok
    - code
    - ToString
    - filter_::allowed_::inc
    - static_cast<Envoy::Http::Code>
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::onCheckDone(const absl::Status& status,\n
      \                                      absl::string_view rc_detail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:107,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:110,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - code
    - error_msg
    - rc_detail
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 22
    functionsReached:
    - streamInfo
    - sendLocalReply
    - filter_::denied_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::rejectRequest(Envoy::Http::Code code,\n
      \                                        absl::string_view error_msg,\n                                         absl::string_view
      rc_detail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterDataStatus
    signature: "Envoy::Http::FilterDataStatus ServiceControlFilter::decodeData(\n
      \   Envoy::Buffer::Instance&, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterTrailersStatus
    signature: "Envoy::Http::FilterTrailersStatus ServiceControlFilter::decodeTrailers(\n
      \   Envoy::Http::RequestTrailerMap&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:137,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:143,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Envoy::Formatter::HttpFormatterContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::log
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - callReport
    - responseTrailers
    - createHandler
    - requestHeaders
    - activeSpan
    - responseHeaders
    - ENVOY_LOG
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::log(\n    const Envoy::Formatter::HttpFormatterContext&
      context,\n    const Envoy::StreamInfo::StreamInfo&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:31,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 12
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilter::onDestroy()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:39,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:41,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:42,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:44,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:50,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:57,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:65,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:70,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - streamInfo
    - fillFilterState
    - createHandler
    - activeSpan
    - callCheck
    - Method
    - ENVOY_LOG
    - Path
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus ServiceControlFilter::decodeHeaders(\n
      \   Envoy::Http::RequestHeaderMap& headers, bool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:87,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:90,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: static_cast<Envoy::Http::Code>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: filter_::allowed_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:97,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' status'
    - rc_detail
    argTypes:
    - absl::Status
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ok
    - code
    - ToString
    - filter_::allowed_::inc
    - static_cast<Envoy::Http::Code>
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::onCheckDone(const absl::Status& status,\n
      \                                      absl::string_view rc_detail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:107,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:110,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - code
    - error_msg
    - rc_detail
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 24
    functionsReached:
    - streamInfo
    - sendLocalReply
    - filter_::denied_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::rejectRequest(Envoy::Http::Code code,\n
      \                                        absl::string_view error_msg,\n                                         absl::string_view
      rc_detail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterDataStatus
    signature: "Envoy::Http::FilterDataStatus ServiceControlFilter::decodeData(\n
      \   Envoy::Buffer::Instance&, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterTrailersStatus
    signature: "Envoy::Http::FilterTrailersStatus ServiceControlFilter::decodeTrailers(\n
      \   Envoy::Http::RequestTrailerMap&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:137,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:143,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Envoy::Formatter::HttpFormatterContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::log
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - callReport
    - responseTrailers
    - createHandler
    - requestHeaders
    - activeSpan
    - responseHeaders
    - ENVOY_LOG
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::log(\n    const Envoy::Formatter::HttpFormatterContext&
      context,\n    const Envoy::StreamInfo::StreamInfo&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:31,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 13
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilter::onDestroy()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:39,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:41,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:42,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:44,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:50,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:57,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:65,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:70,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - streamInfo
    - fillFilterState
    - createHandler
    - activeSpan
    - callCheck
    - Method
    - ENVOY_LOG
    - Path
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus ServiceControlFilter::decodeHeaders(\n
      \   Envoy::Http::RequestHeaderMap& headers, bool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:87,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:90,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: static_cast<Envoy::Http::Code>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: filter_::allowed_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:97,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' status'
    - rc_detail
    argTypes:
    - absl::Status
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ok
    - code
    - ToString
    - filter_::allowed_::inc
    - static_cast<Envoy::Http::Code>
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::onCheckDone(const absl::Status& status,\n
      \                                      absl::string_view rc_detail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:107,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:110,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - code
    - error_msg
    - rc_detail
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 26
    functionsReached:
    - streamInfo
    - sendLocalReply
    - filter_::denied_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::rejectRequest(Envoy::Http::Code code,\n
      \                                        absl::string_view error_msg,\n                                         absl::string_view
      rc_detail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterDataStatus
    signature: "Envoy::Http::FilterDataStatus ServiceControlFilter::decodeData(\n
      \   Envoy::Buffer::Instance&, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterTrailersStatus
    signature: "Envoy::Http::FilterTrailersStatus ServiceControlFilter::decodeTrailers(\n
      \   Envoy::Http::RequestTrailerMap&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:137,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:143,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Envoy::Formatter::HttpFormatterContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::log
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - callReport
    - responseTrailers
    - createHandler
    - requestHeaders
    - activeSpan
    - responseHeaders
    - ENVOY_LOG
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::log(\n    const Envoy::Formatter::HttpFormatterContext&
      context,\n    const Envoy::StreamInfo::StreamInfo&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:31,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 14
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilter::onDestroy()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:39,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:41,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:42,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:44,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:50,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:57,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:65,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:70,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - streamInfo
    - fillFilterState
    - createHandler
    - activeSpan
    - callCheck
    - Method
    - ENVOY_LOG
    - Path
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus ServiceControlFilter::decodeHeaders(\n
      \   Envoy::Http::RequestHeaderMap& headers, bool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:87,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:90,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: static_cast<Envoy::Http::Code>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: filter_::allowed_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:97,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' status'
    - rc_detail
    argTypes:
    - absl::Status
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ok
    - code
    - ToString
    - filter_::allowed_::inc
    - static_cast<Envoy::Http::Code>
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::onCheckDone(const absl::Status& status,\n
      \                                      absl::string_view rc_detail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:107,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:110,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - code
    - error_msg
    - rc_detail
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 28
    functionsReached:
    - streamInfo
    - sendLocalReply
    - filter_::denied_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::rejectRequest(Envoy::Http::Code code,\n
      \                                        absl::string_view error_msg,\n                                         absl::string_view
      rc_detail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterDataStatus
    signature: "Envoy::Http::FilterDataStatus ServiceControlFilter::decodeData(\n
      \   Envoy::Buffer::Instance&, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterTrailersStatus
    signature: "Envoy::Http::FilterTrailersStatus ServiceControlFilter::decodeTrailers(\n
      \   Envoy::Http::RequestTrailerMap&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:137,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:143,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Envoy::Formatter::HttpFormatterContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::log
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - callReport
    - responseTrailers
    - createHandler
    - requestHeaders
    - activeSpan
    - responseHeaders
    - ENVOY_LOG
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::log(\n    const Envoy::Formatter::HttpFormatterContext&
      context,\n    const Envoy::StreamInfo::StreamInfo&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:31,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 15
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilter::onDestroy()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:39,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:41,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:42,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:44,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:50,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:57,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:65,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:70,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - streamInfo
    - fillFilterState
    - createHandler
    - activeSpan
    - callCheck
    - Method
    - ENVOY_LOG
    - Path
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus ServiceControlFilter::decodeHeaders(\n
      \   Envoy::Http::RequestHeaderMap& headers, bool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:87,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:90,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: static_cast<Envoy::Http::Code>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: filter_::allowed_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:97,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' status'
    - rc_detail
    argTypes:
    - absl::Status
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ok
    - code
    - ToString
    - filter_::allowed_::inc
    - static_cast<Envoy::Http::Code>
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::onCheckDone(const absl::Status& status,\n
      \                                      absl::string_view rc_detail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:107,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:110,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - code
    - error_msg
    - rc_detail
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 30
    functionsReached:
    - streamInfo
    - sendLocalReply
    - filter_::denied_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::rejectRequest(Envoy::Http::Code code,\n
      \                                        absl::string_view error_msg,\n                                         absl::string_view
      rc_detail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterDataStatus
    signature: "Envoy::Http::FilterDataStatus ServiceControlFilter::decodeData(\n
      \   Envoy::Buffer::Instance&, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterTrailersStatus
    signature: "Envoy::Http::FilterTrailersStatus ServiceControlFilter::decodeTrailers(\n
      \   Envoy::Http::RequestTrailerMap&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:137,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:143,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Envoy::Formatter::HttpFormatterContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::log
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - callReport
    - responseTrailers
    - createHandler
    - requestHeaders
    - activeSpan
    - responseHeaders
    - ENVOY_LOG
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::log(\n    const Envoy::Formatter::HttpFormatterContext&
      context,\n    const Envoy::StreamInfo::StreamInfo&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:31,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 16
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
    linkageType: ''
    returnType: void
    signature: void ServiceControlFilter::onDestroy()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:39,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:41,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:42,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:44,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:48,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:49,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:50,1
    - Dst: route
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:57,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:65,1
    - Dst: fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:66,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:70,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:72,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - streamInfo
    - fillFilterState
    - createHandler
    - activeSpan
    - callCheck
    - Method
    - ENVOY_LOG
    - Path
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - espv2::envoy::utils::generateRcDetails
    - route
    linkageType: ''
    returnType: Envoy::Http::FilterHeadersStatus
    signature: "Envoy::Http::FilterHeadersStatus ServiceControlFilter::decodeHeaders(\n
      \   Envoy::Http::RequestHeaderMap& headers, bool)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:87,1
    - Dst: Envoy::Grpc::Utility::grpcToHttpStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:90,1
    - Dst: static_cast<Envoy::Grpc::Status::GrpcStatus>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:91,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: static_cast<Envoy::Http::Code>
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:92,1
    - Dst: filter_::allowed_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:97,1
    - Dst: continueDecoding
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ' status'
    - rc_detail
    argTypes:
    - absl::Status
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ok
    - code
    - ToString
    - filter_::allowed_::inc
    - static_cast<Envoy::Http::Code>
    - Envoy::Grpc::Utility::grpcToHttpStatus
    - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    - static_cast<Envoy::Grpc::Status::GrpcStatus>
    - continueDecoding
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::onCheckDone(const absl::Status& status,\n
      \                                      absl::string_view rc_detail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:107,1
    - Dst: sendLocalReply
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:110,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - code
    - error_msg
    - rc_detail
    argTypes:
    - Envoy::Http::Code
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 32
    functionsReached:
    - streamInfo
    - sendLocalReply
    - filter_::denied_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::rejectRequest(Envoy::Http::Code code,\n
      \                                        absl::string_view error_msg,\n                                         absl::string_view
      rc_detail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterDataStatus
    signature: "Envoy::Http::FilterDataStatus ServiceControlFilter::decodeData(\n
      \   Envoy::Buffer::Instance&, bool)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    linkageType: ''
    returnType: Envoy::Http::FilterTrailersStatus
    signature: "Envoy::Http::FilterTrailersStatus ServiceControlFilter::decodeTrailers(\n
      \   Envoy::Http::RequestTrailerMap&)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:137,1
    - Dst: createHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:139,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:143,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: requestHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:144,1
    - Dst: responseTrailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Envoy::Formatter::HttpFormatterContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::log
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.cc
    functionUses: 0
    functionsReached:
    - callReport
    - responseTrailers
    - createHandler
    - requestHeaders
    - activeSpan
    - responseHeaders
    - ENVOY_LOG
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter::log(\n    const Envoy::Formatter::HttpFormatterContext&
      context,\n    const Envoy::StreamInfo::StreamInfo&)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:79,1
    - Dst: espv2::envoy::http_filters::service_control::fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:82,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 85
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::fillGCPInfo
    - EXPECT_EQ
    - TextFormat::ParseFromString
    - ASSERT_TRUE
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillGCPInfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:91,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:92,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:146,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:150,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:152,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:158,1
    - Dst: espv2::envoy::http_filters::service_control::fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: Service::log_request_headers
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:162,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - Service::log_request_headers
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::fillLoggedHeader
    - TextFormat::ParseFromString
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLoggedHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:273,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:274,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: expected_api_key::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:278,1
    - Dst: espv2::envoy::http_filters::service_control::extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: ApiKeyRequirement::locations
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:279,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - ASSERT_TRUE
    - espv2::envoy::http_filters::service_control::extractAPIKey
    - TextFormat::ParseFromString
    - expected_api_key::empty
    - ApiKeyRequirement::locations
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, ExtractApiKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:295,1
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:297,1
    - Dst: testing::NiceMock::mockScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:298,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:306,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:316,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:317,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:325,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:326,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:327,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:335,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:336,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:337,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:344,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:345,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:346,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:354,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:355,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:356,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:367,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:368,1
    - Dst: std::chrono::nanoseconds
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:377,1
    - Dst: std::vector::size
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:387,1
    - Dst: testing::NiceMock::upstream_info_::upstreamTiming
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:393,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:396,1
    - Dst: Envoy::MonotonicTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:400,1
    - Dst: espv2::envoy::http_filters::service_control::fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:404,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:405,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:407,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 412
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - testing::NiceMock::upstream_info_::upstreamTiming
    - EXPECT_EQ
    - std::vector::size
    - espv2::envoy::http_filters::service_control::fillLatency
    - espv2::envoy::http_filters::service_control::create
    - testing::NiceMock::mockScope
    - std::chrono::nanoseconds
    - Envoy::MonotonicTime
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, FillLatency)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:418,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:421,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:422,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:425,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:426,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:429,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:430,1
    - Dst: Service::set_backend_protocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    - Dst: espv2::envoy::http_filters::service_control::getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 435
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - Service::set_backend_protocol
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::getBackendProtocol
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetBackendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:442,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:453,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    - Dst: espv2::envoy::http_filters::service_control::getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::getFrontendProtocol
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(ServiceControlUtils, GetFrontendProtocol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, HeaderNotExist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, DoubleHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 490
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, WrongIpv6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, Ipv4WithOtherFieldsWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastHasIPWithSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    - Dst: espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: espv2::envoy::http_filters::service_control::TEST
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
    linkageType: ''
    returnType: void
    signature: void TEST(TestExtractIPFromForwardedHeader, MultipleSectionsLastNotIP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~ServiceControlHandler()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~CheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ~ServiceControlHandlerFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandlerFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~ServiceControlHandler()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~CheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ~ServiceControlHandlerFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandlerFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~ServiceControlHandler()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~CheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ~ServiceControlHandlerFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandlerFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~ServiceControlHandler()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~CheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ~ServiceControlHandlerFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandlerFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~ServiceControlHandler()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~CheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ~ServiceControlHandlerFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandlerFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~ServiceControlHandler()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~CheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ~ServiceControlHandlerFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandlerFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~ServiceControlHandler()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~CheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ~ServiceControlHandlerFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandlerFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~ServiceControlHandler()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~CheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ~ServiceControlHandlerFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandlerFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~ServiceControlHandler()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~CheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ~ServiceControlHandlerFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandlerFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~ServiceControlHandler()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~CheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ~ServiceControlHandlerFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandlerFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~ServiceControlHandler()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~CheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ~ServiceControlHandlerFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandlerFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~ServiceControlHandler()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~CheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ~ServiceControlHandlerFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandlerFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~ServiceControlHandler()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~CheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ~ServiceControlHandlerFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandlerFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~ServiceControlHandler()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~CheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ~ServiceControlHandlerFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandlerFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~ServiceControlHandler()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~CheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ~ServiceControlHandlerFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandlerFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~ServiceControlHandler()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandler()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: ~CheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~CheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 64
    functionName: ~ServiceControlHandlerFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlHandlerFactory()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:48,1
    - Dst: min_stream_report_interval_ms
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:49,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:54,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - create
    - min_stream_report_interval_ms
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    linkageType: ''
    returnType: void
    signature: "void ServiceContext(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      ServiceControlCallFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Service
    signature: "::espv2::api::envoy::v12::http::service_control::Service & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_min_stream_report_interval_ms() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& call() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlCall
    signature: ServiceControlCall & call() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:88,1
    - Dst: std::make_pair
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: cost
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - "\n          config"
    - ' service_ctx'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Requirement
    - ServiceContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - metric_costs
    - name
    - std::make_pair
    - reserve
    - push_back
    - cost
    linkageType: ''
    returnType: void
    signature: "void RequirementContext(\n      const ::espv2::api::envoy::v12::http::service_control::Requirement&\n
      \         config,\n      const ServiceContext& service_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Requirement
    signature: "::espv2::api::envoy::v12::http::service_control::Requirement & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '& service_ctx() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceContext
    signature: ServiceContext & service_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '& metric_costs() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::pair<std::string, int>>
    signature: std::vector<std::pair<std::string, int>> & metric_costs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::FilterConfig
    signature: "::espv2::api::envoy::v12::http::service_control::FilterConfig & config()\n
      \     const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:124,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:125,1
    - Dst: auto::second::get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - operation
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - auto::second::get
    - find
    - end
    linkageType: ''
    returnType: RequirementContext
    signature: "RequirementContext * find_requirement(\n      absl::string_view operation)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: "&\n  default_api_keys() const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
    signature: "::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
      &\n  default_api_keys() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: RequirementContext
    signature: RequirementContext * non_match_rqm_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n                           PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(const ::espv2::api::envoy::v12::http::service_control::\n
      \                          PerRouteFilterConfig& per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view operation_name() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:48,1
    - Dst: min_stream_report_interval_ms
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:49,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:54,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - create
    - min_stream_report_interval_ms
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    linkageType: ''
    returnType: void
    signature: "void ServiceContext(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      ServiceControlCallFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Service
    signature: "::espv2::api::envoy::v12::http::service_control::Service & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_min_stream_report_interval_ms() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& call() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlCall
    signature: ServiceControlCall & call() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:88,1
    - Dst: std::make_pair
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: cost
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - "\n          config"
    - ' service_ctx'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Requirement
    - ServiceContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - metric_costs
    - name
    - std::make_pair
    - reserve
    - push_back
    - cost
    linkageType: ''
    returnType: void
    signature: "void RequirementContext(\n      const ::espv2::api::envoy::v12::http::service_control::Requirement&\n
      \         config,\n      const ServiceContext& service_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Requirement
    signature: "::espv2::api::envoy::v12::http::service_control::Requirement & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '& service_ctx() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceContext
    signature: ServiceContext & service_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '& metric_costs() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::pair<std::string, int>>
    signature: std::vector<std::pair<std::string, int>> & metric_costs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::FilterConfig
    signature: "::espv2::api::envoy::v12::http::service_control::FilterConfig & config()\n
      \     const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:124,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:125,1
    - Dst: auto::second::get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - operation
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - auto::second::get
    - find
    - end
    linkageType: ''
    returnType: RequirementContext
    signature: "RequirementContext * find_requirement(\n      absl::string_view operation)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: "&\n  default_api_keys() const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
    signature: "::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
      &\n  default_api_keys() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: RequirementContext
    signature: RequirementContext * non_match_rqm_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n                           PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(const ::espv2::api::envoy::v12::http::service_control::\n
      \                          PerRouteFilterConfig& per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view operation_name() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:48,1
    - Dst: min_stream_report_interval_ms
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:49,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:54,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - create
    - min_stream_report_interval_ms
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    linkageType: ''
    returnType: void
    signature: "void ServiceContext(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      ServiceControlCallFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Service
    signature: "::espv2::api::envoy::v12::http::service_control::Service & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_min_stream_report_interval_ms() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& call() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlCall
    signature: ServiceControlCall & call() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:88,1
    - Dst: std::make_pair
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: cost
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - "\n          config"
    - ' service_ctx'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Requirement
    - ServiceContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - metric_costs
    - name
    - std::make_pair
    - reserve
    - push_back
    - cost
    linkageType: ''
    returnType: void
    signature: "void RequirementContext(\n      const ::espv2::api::envoy::v12::http::service_control::Requirement&\n
      \         config,\n      const ServiceContext& service_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Requirement
    signature: "::espv2::api::envoy::v12::http::service_control::Requirement & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '& service_ctx() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceContext
    signature: ServiceContext & service_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '& metric_costs() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::pair<std::string, int>>
    signature: std::vector<std::pair<std::string, int>> & metric_costs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::FilterConfig
    signature: "::espv2::api::envoy::v12::http::service_control::FilterConfig & config()\n
      \     const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:124,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:125,1
    - Dst: auto::second::get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - operation
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - auto::second::get
    - find
    - end
    linkageType: ''
    returnType: RequirementContext
    signature: "RequirementContext * find_requirement(\n      absl::string_view operation)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: "&\n  default_api_keys() const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
    signature: "::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
      &\n  default_api_keys() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: RequirementContext
    signature: RequirementContext * non_match_rqm_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n                           PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(const ::espv2::api::envoy::v12::http::service_control::\n
      \                          PerRouteFilterConfig& per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view operation_name() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:48,1
    - Dst: min_stream_report_interval_ms
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:49,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:54,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - create
    - min_stream_report_interval_ms
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    linkageType: ''
    returnType: void
    signature: "void ServiceContext(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      ServiceControlCallFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Service
    signature: "::espv2::api::envoy::v12::http::service_control::Service & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_min_stream_report_interval_ms() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& call() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlCall
    signature: ServiceControlCall & call() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:88,1
    - Dst: std::make_pair
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: cost
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - "\n          config"
    - ' service_ctx'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Requirement
    - ServiceContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - metric_costs
    - name
    - std::make_pair
    - reserve
    - push_back
    - cost
    linkageType: ''
    returnType: void
    signature: "void RequirementContext(\n      const ::espv2::api::envoy::v12::http::service_control::Requirement&\n
      \         config,\n      const ServiceContext& service_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Requirement
    signature: "::espv2::api::envoy::v12::http::service_control::Requirement & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '& service_ctx() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceContext
    signature: ServiceContext & service_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '& metric_costs() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::pair<std::string, int>>
    signature: std::vector<std::pair<std::string, int>> & metric_costs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::FilterConfig
    signature: "::espv2::api::envoy::v12::http::service_control::FilterConfig & config()\n
      \     const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:124,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:125,1
    - Dst: auto::second::get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - operation
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - auto::second::get
    - find
    - end
    linkageType: ''
    returnType: RequirementContext
    signature: "RequirementContext * find_requirement(\n      absl::string_view operation)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: "&\n  default_api_keys() const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
    signature: "::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
      &\n  default_api_keys() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: RequirementContext
    signature: RequirementContext * non_match_rqm_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n                           PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(const ::espv2::api::envoy::v12::http::service_control::\n
      \                          PerRouteFilterConfig& per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view operation_name() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:48,1
    - Dst: min_stream_report_interval_ms
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:49,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:54,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - create
    - min_stream_report_interval_ms
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    linkageType: ''
    returnType: void
    signature: "void ServiceContext(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      ServiceControlCallFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Service
    signature: "::espv2::api::envoy::v12::http::service_control::Service & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_min_stream_report_interval_ms() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& call() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlCall
    signature: ServiceControlCall & call() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:88,1
    - Dst: std::make_pair
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: cost
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - "\n          config"
    - ' service_ctx'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Requirement
    - ServiceContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - metric_costs
    - name
    - std::make_pair
    - reserve
    - push_back
    - cost
    linkageType: ''
    returnType: void
    signature: "void RequirementContext(\n      const ::espv2::api::envoy::v12::http::service_control::Requirement&\n
      \         config,\n      const ServiceContext& service_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Requirement
    signature: "::espv2::api::envoy::v12::http::service_control::Requirement & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '& service_ctx() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceContext
    signature: ServiceContext & service_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '& metric_costs() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::pair<std::string, int>>
    signature: std::vector<std::pair<std::string, int>> & metric_costs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::FilterConfig
    signature: "::espv2::api::envoy::v12::http::service_control::FilterConfig & config()\n
      \     const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:124,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:125,1
    - Dst: auto::second::get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - operation
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - auto::second::get
    - find
    - end
    linkageType: ''
    returnType: RequirementContext
    signature: "RequirementContext * find_requirement(\n      absl::string_view operation)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: "&\n  default_api_keys() const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
    signature: "::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
      &\n  default_api_keys() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: RequirementContext
    signature: RequirementContext * non_match_rqm_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n                           PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(const ::espv2::api::envoy::v12::http::service_control::\n
      \                          PerRouteFilterConfig& per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view operation_name() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:48,1
    - Dst: min_stream_report_interval_ms
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:49,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:54,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - create
    - min_stream_report_interval_ms
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    linkageType: ''
    returnType: void
    signature: "void ServiceContext(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      ServiceControlCallFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Service
    signature: "::espv2::api::envoy::v12::http::service_control::Service & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_min_stream_report_interval_ms() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& call() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlCall
    signature: ServiceControlCall & call() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:88,1
    - Dst: std::make_pair
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: cost
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - "\n          config"
    - ' service_ctx'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Requirement
    - ServiceContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - metric_costs
    - name
    - std::make_pair
    - reserve
    - push_back
    - cost
    linkageType: ''
    returnType: void
    signature: "void RequirementContext(\n      const ::espv2::api::envoy::v12::http::service_control::Requirement&\n
      \         config,\n      const ServiceContext& service_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Requirement
    signature: "::espv2::api::envoy::v12::http::service_control::Requirement & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '& service_ctx() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceContext
    signature: ServiceContext & service_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '& metric_costs() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::pair<std::string, int>>
    signature: std::vector<std::pair<std::string, int>> & metric_costs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::FilterConfig
    signature: "::espv2::api::envoy::v12::http::service_control::FilterConfig & config()\n
      \     const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:124,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:125,1
    - Dst: auto::second::get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - operation
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - auto::second::get
    - find
    - end
    linkageType: ''
    returnType: RequirementContext
    signature: "RequirementContext * find_requirement(\n      absl::string_view operation)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: "&\n  default_api_keys() const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
    signature: "::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
      &\n  default_api_keys() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: RequirementContext
    signature: RequirementContext * non_match_rqm_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n                           PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(const ::espv2::api::envoy::v12::http::service_control::\n
      \                          PerRouteFilterConfig& per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view operation_name() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:48,1
    - Dst: min_stream_report_interval_ms
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:49,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:54,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - create
    - min_stream_report_interval_ms
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    linkageType: ''
    returnType: void
    signature: "void ServiceContext(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      ServiceControlCallFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Service
    signature: "::espv2::api::envoy::v12::http::service_control::Service & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_min_stream_report_interval_ms() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& call() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlCall
    signature: ServiceControlCall & call() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:88,1
    - Dst: std::make_pair
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: cost
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - "\n          config"
    - ' service_ctx'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Requirement
    - ServiceContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - metric_costs
    - name
    - std::make_pair
    - reserve
    - push_back
    - cost
    linkageType: ''
    returnType: void
    signature: "void RequirementContext(\n      const ::espv2::api::envoy::v12::http::service_control::Requirement&\n
      \         config,\n      const ServiceContext& service_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Requirement
    signature: "::espv2::api::envoy::v12::http::service_control::Requirement & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '& service_ctx() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceContext
    signature: ServiceContext & service_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '& metric_costs() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::pair<std::string, int>>
    signature: std::vector<std::pair<std::string, int>> & metric_costs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::FilterConfig
    signature: "::espv2::api::envoy::v12::http::service_control::FilterConfig & config()\n
      \     const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:124,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:125,1
    - Dst: auto::second::get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - operation
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - auto::second::get
    - find
    - end
    linkageType: ''
    returnType: RequirementContext
    signature: "RequirementContext * find_requirement(\n      absl::string_view operation)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: "&\n  default_api_keys() const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
    signature: "::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
      &\n  default_api_keys() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: RequirementContext
    signature: RequirementContext * non_match_rqm_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n                           PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(const ::espv2::api::envoy::v12::http::service_control::\n
      \                          PerRouteFilterConfig& per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view operation_name() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:48,1
    - Dst: min_stream_report_interval_ms
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:49,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:54,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - create
    - min_stream_report_interval_ms
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    linkageType: ''
    returnType: void
    signature: "void ServiceContext(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      ServiceControlCallFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Service
    signature: "::espv2::api::envoy::v12::http::service_control::Service & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_min_stream_report_interval_ms() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& call() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlCall
    signature: ServiceControlCall & call() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:88,1
    - Dst: std::make_pair
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: cost
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - "\n          config"
    - ' service_ctx'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Requirement
    - ServiceContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - metric_costs
    - name
    - std::make_pair
    - reserve
    - push_back
    - cost
    linkageType: ''
    returnType: void
    signature: "void RequirementContext(\n      const ::espv2::api::envoy::v12::http::service_control::Requirement&\n
      \         config,\n      const ServiceContext& service_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Requirement
    signature: "::espv2::api::envoy::v12::http::service_control::Requirement & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '& service_ctx() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceContext
    signature: ServiceContext & service_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '& metric_costs() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::pair<std::string, int>>
    signature: std::vector<std::pair<std::string, int>> & metric_costs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::FilterConfig
    signature: "::espv2::api::envoy::v12::http::service_control::FilterConfig & config()\n
      \     const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:124,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:125,1
    - Dst: auto::second::get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - operation
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - auto::second::get
    - find
    - end
    linkageType: ''
    returnType: RequirementContext
    signature: "RequirementContext * find_requirement(\n      absl::string_view operation)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: "&\n  default_api_keys() const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
    signature: "::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
      &\n  default_api_keys() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: RequirementContext
    signature: RequirementContext * non_match_rqm_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n                           PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(const ::espv2::api::envoy::v12::http::service_control::\n
      \                          PerRouteFilterConfig& per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view operation_name() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:48,1
    - Dst: min_stream_report_interval_ms
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:49,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:54,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - create
    - min_stream_report_interval_ms
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    linkageType: ''
    returnType: void
    signature: "void ServiceContext(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      ServiceControlCallFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Service
    signature: "::espv2::api::envoy::v12::http::service_control::Service & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_min_stream_report_interval_ms() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& call() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlCall
    signature: ServiceControlCall & call() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:88,1
    - Dst: std::make_pair
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: cost
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - "\n          config"
    - ' service_ctx'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Requirement
    - ServiceContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - metric_costs
    - name
    - std::make_pair
    - reserve
    - push_back
    - cost
    linkageType: ''
    returnType: void
    signature: "void RequirementContext(\n      const ::espv2::api::envoy::v12::http::service_control::Requirement&\n
      \         config,\n      const ServiceContext& service_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Requirement
    signature: "::espv2::api::envoy::v12::http::service_control::Requirement & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '& service_ctx() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceContext
    signature: ServiceContext & service_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '& metric_costs() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::pair<std::string, int>>
    signature: std::vector<std::pair<std::string, int>> & metric_costs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::FilterConfig
    signature: "::espv2::api::envoy::v12::http::service_control::FilterConfig & config()\n
      \     const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:124,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:125,1
    - Dst: auto::second::get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - operation
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - auto::second::get
    - find
    - end
    linkageType: ''
    returnType: RequirementContext
    signature: "RequirementContext * find_requirement(\n      absl::string_view operation)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: "&\n  default_api_keys() const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
    signature: "::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
      &\n  default_api_keys() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: RequirementContext
    signature: RequirementContext * non_match_rqm_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n                           PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(const ::espv2::api::envoy::v12::http::service_control::\n
      \                          PerRouteFilterConfig& per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view operation_name() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:48,1
    - Dst: min_stream_report_interval_ms
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:49,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:54,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - create
    - min_stream_report_interval_ms
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    linkageType: ''
    returnType: void
    signature: "void ServiceContext(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      ServiceControlCallFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Service
    signature: "::espv2::api::envoy::v12::http::service_control::Service & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_min_stream_report_interval_ms() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& call() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlCall
    signature: ServiceControlCall & call() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:88,1
    - Dst: std::make_pair
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: cost
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - "\n          config"
    - ' service_ctx'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Requirement
    - ServiceContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - metric_costs
    - name
    - std::make_pair
    - reserve
    - push_back
    - cost
    linkageType: ''
    returnType: void
    signature: "void RequirementContext(\n      const ::espv2::api::envoy::v12::http::service_control::Requirement&\n
      \         config,\n      const ServiceContext& service_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Requirement
    signature: "::espv2::api::envoy::v12::http::service_control::Requirement & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '& service_ctx() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceContext
    signature: ServiceContext & service_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '& metric_costs() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::pair<std::string, int>>
    signature: std::vector<std::pair<std::string, int>> & metric_costs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::FilterConfig
    signature: "::espv2::api::envoy::v12::http::service_control::FilterConfig & config()\n
      \     const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:124,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:125,1
    - Dst: auto::second::get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - operation
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - auto::second::get
    - find
    - end
    linkageType: ''
    returnType: RequirementContext
    signature: "RequirementContext * find_requirement(\n      absl::string_view operation)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: "&\n  default_api_keys() const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
    signature: "::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
      &\n  default_api_keys() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: RequirementContext
    signature: RequirementContext * non_match_rqm_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n                           PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(const ::espv2::api::envoy::v12::http::service_control::\n
      \                          PerRouteFilterConfig& per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view operation_name() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:48,1
    - Dst: min_stream_report_interval_ms
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:49,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:54,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - create
    - min_stream_report_interval_ms
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    linkageType: ''
    returnType: void
    signature: "void ServiceContext(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      ServiceControlCallFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Service
    signature: "::espv2::api::envoy::v12::http::service_control::Service & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_min_stream_report_interval_ms() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& call() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlCall
    signature: ServiceControlCall & call() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:88,1
    - Dst: std::make_pair
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: cost
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - "\n          config"
    - ' service_ctx'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Requirement
    - ServiceContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - metric_costs
    - name
    - std::make_pair
    - reserve
    - push_back
    - cost
    linkageType: ''
    returnType: void
    signature: "void RequirementContext(\n      const ::espv2::api::envoy::v12::http::service_control::Requirement&\n
      \         config,\n      const ServiceContext& service_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Requirement
    signature: "::espv2::api::envoy::v12::http::service_control::Requirement & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '& service_ctx() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceContext
    signature: ServiceContext & service_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '& metric_costs() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::pair<std::string, int>>
    signature: std::vector<std::pair<std::string, int>> & metric_costs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::FilterConfig
    signature: "::espv2::api::envoy::v12::http::service_control::FilterConfig & config()\n
      \     const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:124,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:125,1
    - Dst: auto::second::get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - operation
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - auto::second::get
    - find
    - end
    linkageType: ''
    returnType: RequirementContext
    signature: "RequirementContext * find_requirement(\n      absl::string_view operation)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: "&\n  default_api_keys() const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
    signature: "::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
      &\n  default_api_keys() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: RequirementContext
    signature: RequirementContext * non_match_rqm_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n                           PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(const ::espv2::api::envoy::v12::http::service_control::\n
      \                          PerRouteFilterConfig& per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view operation_name() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:48,1
    - Dst: min_stream_report_interval_ms
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:49,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:54,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - create
    - min_stream_report_interval_ms
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    linkageType: ''
    returnType: void
    signature: "void ServiceContext(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      ServiceControlCallFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Service
    signature: "::espv2::api::envoy::v12::http::service_control::Service & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_min_stream_report_interval_ms() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& call() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlCall
    signature: ServiceControlCall & call() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:88,1
    - Dst: std::make_pair
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: cost
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - "\n          config"
    - ' service_ctx'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Requirement
    - ServiceContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - metric_costs
    - name
    - std::make_pair
    - reserve
    - push_back
    - cost
    linkageType: ''
    returnType: void
    signature: "void RequirementContext(\n      const ::espv2::api::envoy::v12::http::service_control::Requirement&\n
      \         config,\n      const ServiceContext& service_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Requirement
    signature: "::espv2::api::envoy::v12::http::service_control::Requirement & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '& service_ctx() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceContext
    signature: ServiceContext & service_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '& metric_costs() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::pair<std::string, int>>
    signature: std::vector<std::pair<std::string, int>> & metric_costs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::FilterConfig
    signature: "::espv2::api::envoy::v12::http::service_control::FilterConfig & config()\n
      \     const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:124,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:125,1
    - Dst: auto::second::get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - operation
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - auto::second::get
    - find
    - end
    linkageType: ''
    returnType: RequirementContext
    signature: "RequirementContext * find_requirement(\n      absl::string_view operation)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: "&\n  default_api_keys() const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
    signature: "::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
      &\n  default_api_keys() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: RequirementContext
    signature: RequirementContext * non_match_rqm_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n                           PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(const ::espv2::api::envoy::v12::http::service_control::\n
      \                          PerRouteFilterConfig& per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view operation_name() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:48,1
    - Dst: min_stream_report_interval_ms
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:49,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:54,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - create
    - min_stream_report_interval_ms
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    linkageType: ''
    returnType: void
    signature: "void ServiceContext(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      ServiceControlCallFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Service
    signature: "::espv2::api::envoy::v12::http::service_control::Service & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_min_stream_report_interval_ms() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& call() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlCall
    signature: ServiceControlCall & call() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:88,1
    - Dst: std::make_pair
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: cost
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - "\n          config"
    - ' service_ctx'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Requirement
    - ServiceContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - metric_costs
    - name
    - std::make_pair
    - reserve
    - push_back
    - cost
    linkageType: ''
    returnType: void
    signature: "void RequirementContext(\n      const ::espv2::api::envoy::v12::http::service_control::Requirement&\n
      \         config,\n      const ServiceContext& service_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Requirement
    signature: "::espv2::api::envoy::v12::http::service_control::Requirement & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '& service_ctx() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceContext
    signature: ServiceContext & service_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '& metric_costs() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::pair<std::string, int>>
    signature: std::vector<std::pair<std::string, int>> & metric_costs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::FilterConfig
    signature: "::espv2::api::envoy::v12::http::service_control::FilterConfig & config()\n
      \     const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:124,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:125,1
    - Dst: auto::second::get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - operation
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - auto::second::get
    - find
    - end
    linkageType: ''
    returnType: RequirementContext
    signature: "RequirementContext * find_requirement(\n      absl::string_view operation)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: "&\n  default_api_keys() const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
    signature: "::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
      &\n  default_api_keys() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: RequirementContext
    signature: RequirementContext * non_match_rqm_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n                           PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(const ::espv2::api::envoy::v12::http::service_control::\n
      \                          PerRouteFilterConfig& per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view operation_name() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:48,1
    - Dst: min_stream_report_interval_ms
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:49,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:54,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - create
    - min_stream_report_interval_ms
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    linkageType: ''
    returnType: void
    signature: "void ServiceContext(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      ServiceControlCallFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Service
    signature: "::espv2::api::envoy::v12::http::service_control::Service & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_min_stream_report_interval_ms() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& call() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlCall
    signature: ServiceControlCall & call() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:88,1
    - Dst: std::make_pair
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: cost
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - "\n          config"
    - ' service_ctx'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Requirement
    - ServiceContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - metric_costs
    - name
    - std::make_pair
    - reserve
    - push_back
    - cost
    linkageType: ''
    returnType: void
    signature: "void RequirementContext(\n      const ::espv2::api::envoy::v12::http::service_control::Requirement&\n
      \         config,\n      const ServiceContext& service_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Requirement
    signature: "::espv2::api::envoy::v12::http::service_control::Requirement & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '& service_ctx() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceContext
    signature: ServiceContext & service_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '& metric_costs() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::pair<std::string, int>>
    signature: std::vector<std::pair<std::string, int>> & metric_costs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::FilterConfig
    signature: "::espv2::api::envoy::v12::http::service_control::FilterConfig & config()\n
      \     const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:124,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:125,1
    - Dst: auto::second::get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - operation
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - auto::second::get
    - find
    - end
    linkageType: ''
    returnType: RequirementContext
    signature: "RequirementContext * find_requirement(\n      absl::string_view operation)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: "&\n  default_api_keys() const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
    signature: "::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
      &\n  default_api_keys() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: RequirementContext
    signature: RequirementContext * non_match_rqm_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n                           PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(const ::espv2::api::envoy::v12::http::service_control::\n
      \                          PerRouteFilterConfig& per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view operation_name() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:48,1
    - Dst: min_stream_report_interval_ms
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:49,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:54,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - create
    - min_stream_report_interval_ms
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    linkageType: ''
    returnType: void
    signature: "void ServiceContext(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      ServiceControlCallFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Service
    signature: "::espv2::api::envoy::v12::http::service_control::Service & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_min_stream_report_interval_ms() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& call() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlCall
    signature: ServiceControlCall & call() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:88,1
    - Dst: std::make_pair
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: cost
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - "\n          config"
    - ' service_ctx'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Requirement
    - ServiceContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - metric_costs
    - name
    - std::make_pair
    - reserve
    - push_back
    - cost
    linkageType: ''
    returnType: void
    signature: "void RequirementContext(\n      const ::espv2::api::envoy::v12::http::service_control::Requirement&\n
      \         config,\n      const ServiceContext& service_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Requirement
    signature: "::espv2::api::envoy::v12::http::service_control::Requirement & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '& service_ctx() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceContext
    signature: ServiceContext & service_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '& metric_costs() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::pair<std::string, int>>
    signature: std::vector<std::pair<std::string, int>> & metric_costs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::FilterConfig
    signature: "::espv2::api::envoy::v12::http::service_control::FilterConfig & config()\n
      \     const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:124,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:125,1
    - Dst: auto::second::get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - operation
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - auto::second::get
    - find
    - end
    linkageType: ''
    returnType: RequirementContext
    signature: "RequirementContext * find_requirement(\n      absl::string_view operation)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: "&\n  default_api_keys() const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
    signature: "::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
      &\n  default_api_keys() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: RequirementContext
    signature: RequirementContext * non_match_rqm_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n                           PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(const ::espv2::api::envoy::v12::http::service_control::\n
      \                          PerRouteFilterConfig& per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view operation_name() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:48,1
    - Dst: min_stream_report_interval_ms
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:49,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:54,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - create
    - min_stream_report_interval_ms
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    linkageType: ''
    returnType: void
    signature: "void ServiceContext(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      ServiceControlCallFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Service
    signature: "::espv2::api::envoy::v12::http::service_control::Service & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_min_stream_report_interval_ms() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: '& call() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlCall
    signature: ServiceControlCall & call() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:86,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:88,1
    - Dst: std::make_pair
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    - Dst: cost
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - "\n          config"
    - ' service_ctx'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Requirement
    - ServiceContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - metric_costs
    - name
    - std::make_pair
    - reserve
    - push_back
    - cost
    linkageType: ''
    returnType: void
    signature: "void RequirementContext(\n      const ::espv2::api::envoy::v12::http::service_control::Requirement&\n
      \         config,\n      const ServiceContext& service_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::Requirement
    signature: "::espv2::api::envoy::v12::http::service_control::Requirement & config()\n
      \     const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: '& service_ctx() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceContext
    signature: ServiceContext & service_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: '& metric_costs() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::pair<std::string, int>>
    signature: std::vector<std::pair<std::string, int>> & metric_costs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: "& config()\n      const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::FilterConfig
    signature: "::espv2::api::envoy::v12::http::service_control::FilterConfig & config()\n
      \     const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:124,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:125,1
    - Dst: auto::second::get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - operation
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 129
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - auto::second::get
    - find
    - end
    linkageType: ''
    returnType: RequirementContext
    signature: "RequirementContext * find_requirement(\n      absl::string_view operation)
      const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: "&\n  default_api_keys() const"
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
    signature: "::espv2::api::envoy::v12::http::service_control::ApiKeyRequirement
      &\n  default_api_keys() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - get
    linkageType: ''
    returnType: RequirementContext
    signature: RequirementContext * non_match_rqm_ctx() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n                           PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    linkageType: ''
    returnType: void
    signature: "void PerRouteFilterConfig(const ::espv2::api::envoy::v12::http::service_control::\n
      \                          PerRouteFilterConfig& per_route)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view operation_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 2
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 2
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 1
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 1
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 5
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 4
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 4
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 2
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 2
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 10
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - timeout_ms
    - retries
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - ::espv2::api::envoy::v12::http::common::HttpUri
    - std::string
    - std::function<const std::string&()>
    - uint32_t
    - uint32_t
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 331
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HttpCallFactoryImpl::HttpCallFactoryImpl(\n    Envoy::Upstream::ClusterManager&
      cm, Envoy::Event::Dispatcher& dispatcher,\n    const ::espv2::api::envoy::v12::http::common::HttpUri&
      uri,\n    const std::string& suffix_url, std::function<const std::string&()>
      token_fn,\n    uint32_t timeout_ms, uint32_t retries, Envoy::TimeSource& time_source,\n
      \   const std::string& trace_operation_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:336,1
    - Dst: HttpCallImpl::HttpCallImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:337,1
    - Dst: HttpCallImpl*::setDoneFunc
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:340,1
    - Dst: erase
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:347,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:349,1
    - Dst: insert
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' body'
    - ' parent_span'
    - on_done
    argTypes:
    - Envoy::Protobuf::Message
    - Envoy::Tracing::Span
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 353
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done
    - HttpCallImpl::HttpCallImpl
    - erase
    - ENVOY_LOG
    - insert
    - HttpCallImpl*::setDoneFunc
    linkageType: ''
    returnType: HttpCall
    signature: "HttpCall * HttpCallFactoryImpl::createHttpCall(\n    const Envoy::Protobuf::Message&
      body, Envoy::Tracing::Span& parent_span,\n    HttpCall::DoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: HttpCallFactoryImpl::~HttpCallFactoryImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 6
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 6
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 3
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 3
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 15
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 8
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 8
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 4
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 4
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 20
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - timeout_ms
    - retries
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - ::espv2::api::envoy::v12::http::common::HttpUri
    - std::string
    - std::function<const std::string&()>
    - uint32_t
    - uint32_t
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 331
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HttpCallFactoryImpl::HttpCallFactoryImpl(\n    Envoy::Upstream::ClusterManager&
      cm, Envoy::Event::Dispatcher& dispatcher,\n    const ::espv2::api::envoy::v12::http::common::HttpUri&
      uri,\n    const std::string& suffix_url, std::function<const std::string&()>
      token_fn,\n    uint32_t timeout_ms, uint32_t retries, Envoy::TimeSource& time_source,\n
      \   const std::string& trace_operation_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:336,1
    - Dst: HttpCallImpl::HttpCallImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:337,1
    - Dst: HttpCallImpl*::setDoneFunc
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:340,1
    - Dst: erase
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:347,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:349,1
    - Dst: insert
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' body'
    - ' parent_span'
    - on_done
    argTypes:
    - Envoy::Protobuf::Message
    - Envoy::Tracing::Span
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 353
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done
    - HttpCallImpl::HttpCallImpl
    - erase
    - ENVOY_LOG
    - insert
    - HttpCallImpl*::setDoneFunc
    linkageType: ''
    returnType: HttpCall
    signature: "HttpCall * HttpCallFactoryImpl::createHttpCall(\n    const Envoy::Protobuf::Message&
      body, Envoy::Tracing::Span& parent_span,\n    HttpCall::DoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: HttpCallFactoryImpl::~HttpCallFactoryImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 10
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 10
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 5
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 5
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 25
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 12
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 12
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 6
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 6
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 30
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - timeout_ms
    - retries
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - ::espv2::api::envoy::v12::http::common::HttpUri
    - std::string
    - std::function<const std::string&()>
    - uint32_t
    - uint32_t
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 331
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HttpCallFactoryImpl::HttpCallFactoryImpl(\n    Envoy::Upstream::ClusterManager&
      cm, Envoy::Event::Dispatcher& dispatcher,\n    const ::espv2::api::envoy::v12::http::common::HttpUri&
      uri,\n    const std::string& suffix_url, std::function<const std::string&()>
      token_fn,\n    uint32_t timeout_ms, uint32_t retries, Envoy::TimeSource& time_source,\n
      \   const std::string& trace_operation_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:336,1
    - Dst: HttpCallImpl::HttpCallImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:337,1
    - Dst: HttpCallImpl*::setDoneFunc
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:340,1
    - Dst: erase
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:347,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:349,1
    - Dst: insert
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' body'
    - ' parent_span'
    - on_done
    argTypes:
    - Envoy::Protobuf::Message
    - Envoy::Tracing::Span
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 353
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done
    - HttpCallImpl::HttpCallImpl
    - erase
    - ENVOY_LOG
    - insert
    - HttpCallImpl*::setDoneFunc
    linkageType: ''
    returnType: HttpCall
    signature: "HttpCall * HttpCallFactoryImpl::createHttpCall(\n    const Envoy::Protobuf::Message&
      body, Envoy::Tracing::Span& parent_span,\n    HttpCall::DoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: HttpCallFactoryImpl::~HttpCallFactoryImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 14
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 14
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 7
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 7
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 35
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 16
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 16
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 8
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 8
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 40
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - timeout_ms
    - retries
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - ::espv2::api::envoy::v12::http::common::HttpUri
    - std::string
    - std::function<const std::string&()>
    - uint32_t
    - uint32_t
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 331
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HttpCallFactoryImpl::HttpCallFactoryImpl(\n    Envoy::Upstream::ClusterManager&
      cm, Envoy::Event::Dispatcher& dispatcher,\n    const ::espv2::api::envoy::v12::http::common::HttpUri&
      uri,\n    const std::string& suffix_url, std::function<const std::string&()>
      token_fn,\n    uint32_t timeout_ms, uint32_t retries, Envoy::TimeSource& time_source,\n
      \   const std::string& trace_operation_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:336,1
    - Dst: HttpCallImpl::HttpCallImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:337,1
    - Dst: HttpCallImpl*::setDoneFunc
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:340,1
    - Dst: erase
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:347,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:349,1
    - Dst: insert
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' body'
    - ' parent_span'
    - on_done
    argTypes:
    - Envoy::Protobuf::Message
    - Envoy::Tracing::Span
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 353
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done
    - HttpCallImpl::HttpCallImpl
    - erase
    - ENVOY_LOG
    - insert
    - HttpCallImpl*::setDoneFunc
    linkageType: ''
    returnType: HttpCall
    signature: "HttpCall * HttpCallFactoryImpl::createHttpCall(\n    const Envoy::Protobuf::Message&
      body, Envoy::Tracing::Span& parent_span,\n    HttpCall::DoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: HttpCallFactoryImpl::~HttpCallFactoryImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 18
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 18
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 9
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 9
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 45
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 20
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 20
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 10
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 10
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 50
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - timeout_ms
    - retries
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - ::espv2::api::envoy::v12::http::common::HttpUri
    - std::string
    - std::function<const std::string&()>
    - uint32_t
    - uint32_t
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 331
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HttpCallFactoryImpl::HttpCallFactoryImpl(\n    Envoy::Upstream::ClusterManager&
      cm, Envoy::Event::Dispatcher& dispatcher,\n    const ::espv2::api::envoy::v12::http::common::HttpUri&
      uri,\n    const std::string& suffix_url, std::function<const std::string&()>
      token_fn,\n    uint32_t timeout_ms, uint32_t retries, Envoy::TimeSource& time_source,\n
      \   const std::string& trace_operation_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:336,1
    - Dst: HttpCallImpl::HttpCallImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:337,1
    - Dst: HttpCallImpl*::setDoneFunc
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:340,1
    - Dst: erase
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:347,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:349,1
    - Dst: insert
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' body'
    - ' parent_span'
    - on_done
    argTypes:
    - Envoy::Protobuf::Message
    - Envoy::Tracing::Span
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 353
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done
    - HttpCallImpl::HttpCallImpl
    - erase
    - ENVOY_LOG
    - insert
    - HttpCallImpl*::setDoneFunc
    linkageType: ''
    returnType: HttpCall
    signature: "HttpCall * HttpCallFactoryImpl::createHttpCall(\n    const Envoy::Protobuf::Message&
      body, Envoy::Tracing::Span& parent_span,\n    HttpCall::DoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: HttpCallFactoryImpl::~HttpCallFactoryImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 22
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 22
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 11
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 11
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 55
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 24
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 24
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 12
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 12
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 60
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - timeout_ms
    - retries
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - ::espv2::api::envoy::v12::http::common::HttpUri
    - std::string
    - std::function<const std::string&()>
    - uint32_t
    - uint32_t
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 331
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HttpCallFactoryImpl::HttpCallFactoryImpl(\n    Envoy::Upstream::ClusterManager&
      cm, Envoy::Event::Dispatcher& dispatcher,\n    const ::espv2::api::envoy::v12::http::common::HttpUri&
      uri,\n    const std::string& suffix_url, std::function<const std::string&()>
      token_fn,\n    uint32_t timeout_ms, uint32_t retries, Envoy::TimeSource& time_source,\n
      \   const std::string& trace_operation_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:336,1
    - Dst: HttpCallImpl::HttpCallImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:337,1
    - Dst: HttpCallImpl*::setDoneFunc
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:340,1
    - Dst: erase
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:347,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:349,1
    - Dst: insert
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' body'
    - ' parent_span'
    - on_done
    argTypes:
    - Envoy::Protobuf::Message
    - Envoy::Tracing::Span
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 353
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done
    - HttpCallImpl::HttpCallImpl
    - erase
    - ENVOY_LOG
    - insert
    - HttpCallImpl*::setDoneFunc
    linkageType: ''
    returnType: HttpCall
    signature: "HttpCall * HttpCallFactoryImpl::createHttpCall(\n    const Envoy::Protobuf::Message&
      body, Envoy::Tracing::Span& parent_span,\n    HttpCall::DoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: HttpCallFactoryImpl::~HttpCallFactoryImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 26
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 26
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 13
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 13
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 65
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 28
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 28
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 14
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 14
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 70
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - timeout_ms
    - retries
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - ::espv2::api::envoy::v12::http::common::HttpUri
    - std::string
    - std::function<const std::string&()>
    - uint32_t
    - uint32_t
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 331
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HttpCallFactoryImpl::HttpCallFactoryImpl(\n    Envoy::Upstream::ClusterManager&
      cm, Envoy::Event::Dispatcher& dispatcher,\n    const ::espv2::api::envoy::v12::http::common::HttpUri&
      uri,\n    const std::string& suffix_url, std::function<const std::string&()>
      token_fn,\n    uint32_t timeout_ms, uint32_t retries, Envoy::TimeSource& time_source,\n
      \   const std::string& trace_operation_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:336,1
    - Dst: HttpCallImpl::HttpCallImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:337,1
    - Dst: HttpCallImpl*::setDoneFunc
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:340,1
    - Dst: erase
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:347,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:349,1
    - Dst: insert
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' body'
    - ' parent_span'
    - on_done
    argTypes:
    - Envoy::Protobuf::Message
    - Envoy::Tracing::Span
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 353
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done
    - HttpCallImpl::HttpCallImpl
    - erase
    - ENVOY_LOG
    - insert
    - HttpCallImpl*::setDoneFunc
    linkageType: ''
    returnType: HttpCall
    signature: "HttpCall * HttpCallFactoryImpl::createHttpCall(\n    const Envoy::Protobuf::Message&
      body, Envoy::Tracing::Span& parent_span,\n    HttpCall::DoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: HttpCallFactoryImpl::~HttpCallFactoryImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 30
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 30
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 15
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 60
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 15
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 75
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 32
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 32
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 16
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 16
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 80
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - timeout_ms
    - retries
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - ::espv2::api::envoy::v12::http::common::HttpUri
    - std::string
    - std::function<const std::string&()>
    - uint32_t
    - uint32_t
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 331
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HttpCallFactoryImpl::HttpCallFactoryImpl(\n    Envoy::Upstream::ClusterManager&
      cm, Envoy::Event::Dispatcher& dispatcher,\n    const ::espv2::api::envoy::v12::http::common::HttpUri&
      uri,\n    const std::string& suffix_url, std::function<const std::string&()>
      token_fn,\n    uint32_t timeout_ms, uint32_t retries, Envoy::TimeSource& time_source,\n
      \   const std::string& trace_operation_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:336,1
    - Dst: HttpCallImpl::HttpCallImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:337,1
    - Dst: HttpCallImpl*::setDoneFunc
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:340,1
    - Dst: erase
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:347,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:349,1
    - Dst: insert
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' body'
    - ' parent_span'
    - on_done
    argTypes:
    - Envoy::Protobuf::Message
    - Envoy::Tracing::Span
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 353
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done
    - HttpCallImpl::HttpCallImpl
    - erase
    - ENVOY_LOG
    - insert
    - HttpCallImpl*::setDoneFunc
    linkageType: ''
    returnType: HttpCall
    signature: "HttpCall * HttpCallFactoryImpl::createHttpCall(\n    const Envoy::Protobuf::Message&
      body, Envoy::Tracing::Span& parent_span,\n    HttpCall::DoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: HttpCallFactoryImpl::~HttpCallFactoryImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 34
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 34
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 17
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 68
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 17
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 85
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 36
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 36
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 18
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 18
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 90
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - timeout_ms
    - retries
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - ::espv2::api::envoy::v12::http::common::HttpUri
    - std::string
    - std::function<const std::string&()>
    - uint32_t
    - uint32_t
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 331
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HttpCallFactoryImpl::HttpCallFactoryImpl(\n    Envoy::Upstream::ClusterManager&
      cm, Envoy::Event::Dispatcher& dispatcher,\n    const ::espv2::api::envoy::v12::http::common::HttpUri&
      uri,\n    const std::string& suffix_url, std::function<const std::string&()>
      token_fn,\n    uint32_t timeout_ms, uint32_t retries, Envoy::TimeSource& time_source,\n
      \   const std::string& trace_operation_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:336,1
    - Dst: HttpCallImpl::HttpCallImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:337,1
    - Dst: HttpCallImpl*::setDoneFunc
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:340,1
    - Dst: erase
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:347,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:349,1
    - Dst: insert
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' body'
    - ' parent_span'
    - on_done
    argTypes:
    - Envoy::Protobuf::Message
    - Envoy::Tracing::Span
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 353
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done
    - HttpCallImpl::HttpCallImpl
    - erase
    - ENVOY_LOG
    - insert
    - HttpCallImpl*::setDoneFunc
    linkageType: ''
    returnType: HttpCall
    signature: "HttpCall * HttpCallFactoryImpl::createHttpCall(\n    const Envoy::Protobuf::Message&
      body, Envoy::Tracing::Span& parent_span,\n    HttpCall::DoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: HttpCallFactoryImpl::~HttpCallFactoryImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 38
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 38
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 19
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 76
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 19
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 95
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 40
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 40
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 20
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 80
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 20
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 100
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - timeout_ms
    - retries
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - ::espv2::api::envoy::v12::http::common::HttpUri
    - std::string
    - std::function<const std::string&()>
    - uint32_t
    - uint32_t
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 331
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HttpCallFactoryImpl::HttpCallFactoryImpl(\n    Envoy::Upstream::ClusterManager&
      cm, Envoy::Event::Dispatcher& dispatcher,\n    const ::espv2::api::envoy::v12::http::common::HttpUri&
      uri,\n    const std::string& suffix_url, std::function<const std::string&()>
      token_fn,\n    uint32_t timeout_ms, uint32_t retries, Envoy::TimeSource& time_source,\n
      \   const std::string& trace_operation_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:336,1
    - Dst: HttpCallImpl::HttpCallImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:337,1
    - Dst: HttpCallImpl*::setDoneFunc
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:340,1
    - Dst: erase
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:347,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:349,1
    - Dst: insert
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' body'
    - ' parent_span'
    - on_done
    argTypes:
    - Envoy::Protobuf::Message
    - Envoy::Tracing::Span
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 353
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done
    - HttpCallImpl::HttpCallImpl
    - erase
    - ENVOY_LOG
    - insert
    - HttpCallImpl*::setDoneFunc
    linkageType: ''
    returnType: HttpCall
    signature: "HttpCall * HttpCallFactoryImpl::createHttpCall(\n    const Envoy::Protobuf::Message&
      body, Envoy::Tracing::Span& parent_span,\n    HttpCall::DoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: HttpCallFactoryImpl::~HttpCallFactoryImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 42
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 42
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 21
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 84
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 21
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 105
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 44
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 44
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 22
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 88
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 22
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 110
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - timeout_ms
    - retries
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - ::espv2::api::envoy::v12::http::common::HttpUri
    - std::string
    - std::function<const std::string&()>
    - uint32_t
    - uint32_t
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 331
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HttpCallFactoryImpl::HttpCallFactoryImpl(\n    Envoy::Upstream::ClusterManager&
      cm, Envoy::Event::Dispatcher& dispatcher,\n    const ::espv2::api::envoy::v12::http::common::HttpUri&
      uri,\n    const std::string& suffix_url, std::function<const std::string&()>
      token_fn,\n    uint32_t timeout_ms, uint32_t retries, Envoy::TimeSource& time_source,\n
      \   const std::string& trace_operation_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:336,1
    - Dst: HttpCallImpl::HttpCallImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:337,1
    - Dst: HttpCallImpl*::setDoneFunc
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:340,1
    - Dst: erase
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:347,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:349,1
    - Dst: insert
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' body'
    - ' parent_span'
    - on_done
    argTypes:
    - Envoy::Protobuf::Message
    - Envoy::Tracing::Span
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 353
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done
    - HttpCallImpl::HttpCallImpl
    - erase
    - ENVOY_LOG
    - insert
    - HttpCallImpl*::setDoneFunc
    linkageType: ''
    returnType: HttpCall
    signature: "HttpCall * HttpCallFactoryImpl::createHttpCall(\n    const Envoy::Protobuf::Message&
      body, Envoy::Tracing::Span& parent_span,\n    HttpCall::DoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: HttpCallFactoryImpl::~HttpCallFactoryImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 46
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 46
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 23
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 92
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 23
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 115
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 48
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 48
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 24
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 96
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 24
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 120
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - timeout_ms
    - retries
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - ::espv2::api::envoy::v12::http::common::HttpUri
    - std::string
    - std::function<const std::string&()>
    - uint32_t
    - uint32_t
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 331
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HttpCallFactoryImpl::HttpCallFactoryImpl(\n    Envoy::Upstream::ClusterManager&
      cm, Envoy::Event::Dispatcher& dispatcher,\n    const ::espv2::api::envoy::v12::http::common::HttpUri&
      uri,\n    const std::string& suffix_url, std::function<const std::string&()>
      token_fn,\n    uint32_t timeout_ms, uint32_t retries, Envoy::TimeSource& time_source,\n
      \   const std::string& trace_operation_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:336,1
    - Dst: HttpCallImpl::HttpCallImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:337,1
    - Dst: HttpCallImpl*::setDoneFunc
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:340,1
    - Dst: erase
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:347,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:349,1
    - Dst: insert
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' body'
    - ' parent_span'
    - on_done
    argTypes:
    - Envoy::Protobuf::Message
    - Envoy::Tracing::Span
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 353
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done
    - HttpCallImpl::HttpCallImpl
    - erase
    - ENVOY_LOG
    - insert
    - HttpCallImpl*::setDoneFunc
    linkageType: ''
    returnType: HttpCall
    signature: "HttpCall * HttpCallFactoryImpl::createHttpCall(\n    const Envoy::Protobuf::Message&
      body, Envoy::Tracing::Span& parent_span,\n    HttpCall::DoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: HttpCallFactoryImpl::~HttpCallFactoryImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 50
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 50
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 25
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 100
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 25
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 125
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 52
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 52
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 26
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 104
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 26
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 130
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - timeout_ms
    - retries
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - ::espv2::api::envoy::v12::http::common::HttpUri
    - std::string
    - std::function<const std::string&()>
    - uint32_t
    - uint32_t
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 331
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HttpCallFactoryImpl::HttpCallFactoryImpl(\n    Envoy::Upstream::ClusterManager&
      cm, Envoy::Event::Dispatcher& dispatcher,\n    const ::espv2::api::envoy::v12::http::common::HttpUri&
      uri,\n    const std::string& suffix_url, std::function<const std::string&()>
      token_fn,\n    uint32_t timeout_ms, uint32_t retries, Envoy::TimeSource& time_source,\n
      \   const std::string& trace_operation_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:336,1
    - Dst: HttpCallImpl::HttpCallImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:337,1
    - Dst: HttpCallImpl*::setDoneFunc
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:340,1
    - Dst: erase
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:347,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:349,1
    - Dst: insert
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' body'
    - ' parent_span'
    - on_done
    argTypes:
    - Envoy::Protobuf::Message
    - Envoy::Tracing::Span
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 353
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done
    - HttpCallImpl::HttpCallImpl
    - erase
    - ENVOY_LOG
    - insert
    - HttpCallImpl*::setDoneFunc
    linkageType: ''
    returnType: HttpCall
    signature: "HttpCall * HttpCallFactoryImpl::createHttpCall(\n    const Envoy::Protobuf::Message&
      body, Envoy::Tracing::Span& parent_span,\n    HttpCall::DoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: HttpCallFactoryImpl::~HttpCallFactoryImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 54
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 54
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 27
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 108
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 27
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 135
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 56
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 56
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 28
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 112
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 28
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 140
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - timeout_ms
    - retries
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - ::espv2::api::envoy::v12::http::common::HttpUri
    - std::string
    - std::function<const std::string&()>
    - uint32_t
    - uint32_t
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 331
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HttpCallFactoryImpl::HttpCallFactoryImpl(\n    Envoy::Upstream::ClusterManager&
      cm, Envoy::Event::Dispatcher& dispatcher,\n    const ::espv2::api::envoy::v12::http::common::HttpUri&
      uri,\n    const std::string& suffix_url, std::function<const std::string&()>
      token_fn,\n    uint32_t timeout_ms, uint32_t retries, Envoy::TimeSource& time_source,\n
      \   const std::string& trace_operation_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:336,1
    - Dst: HttpCallImpl::HttpCallImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:337,1
    - Dst: HttpCallImpl*::setDoneFunc
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:340,1
    - Dst: erase
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:347,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:349,1
    - Dst: insert
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' body'
    - ' parent_span'
    - on_done
    argTypes:
    - Envoy::Protobuf::Message
    - Envoy::Tracing::Span
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 353
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done
    - HttpCallImpl::HttpCallImpl
    - erase
    - ENVOY_LOG
    - insert
    - HttpCallImpl*::setDoneFunc
    linkageType: ''
    returnType: HttpCall
    signature: "HttpCall * HttpCallFactoryImpl::createHttpCall(\n    const Envoy::Protobuf::Message&
      body, Envoy::Tracing::Span& parent_span,\n    HttpCall::DoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: HttpCallFactoryImpl::~HttpCallFactoryImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 58
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 58
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 29
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 116
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 29
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 145
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 60
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 60
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 30
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 120
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 30
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 150
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - timeout_ms
    - retries
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - ::espv2::api::envoy::v12::http::common::HttpUri
    - std::string
    - std::function<const std::string&()>
    - uint32_t
    - uint32_t
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 331
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HttpCallFactoryImpl::HttpCallFactoryImpl(\n    Envoy::Upstream::ClusterManager&
      cm, Envoy::Event::Dispatcher& dispatcher,\n    const ::espv2::api::envoy::v12::http::common::HttpUri&
      uri,\n    const std::string& suffix_url, std::function<const std::string&()>
      token_fn,\n    uint32_t timeout_ms, uint32_t retries, Envoy::TimeSource& time_source,\n
      \   const std::string& trace_operation_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:336,1
    - Dst: HttpCallImpl::HttpCallImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:337,1
    - Dst: HttpCallImpl*::setDoneFunc
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:340,1
    - Dst: erase
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:347,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:349,1
    - Dst: insert
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' body'
    - ' parent_span'
    - on_done
    argTypes:
    - Envoy::Protobuf::Message
    - Envoy::Tracing::Span
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 353
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done
    - HttpCallImpl::HttpCallImpl
    - erase
    - ENVOY_LOG
    - insert
    - HttpCallImpl*::setDoneFunc
    linkageType: ''
    returnType: HttpCall
    signature: "HttpCall * HttpCallFactoryImpl::createHttpCall(\n    const Envoy::Protobuf::Message&
      body, Envoy::Tracing::Span& parent_span,\n    HttpCall::DoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: HttpCallFactoryImpl::~HttpCallFactoryImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 62
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 62
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 31
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 124
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 31
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 155
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:71,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:73,1
    - Dst: SerializeToString
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:74,1
    - Dst: ASSERT
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - ' body'
    - timeout_ms
    - retries
    - ' parent_span'
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - HttpUri
    - std::string
    - std::function<const std::string&()>
    - Envoy::Protobuf::Message
    - uint32_t
    - uint32_t
    - Envoy::Tracing::Span
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - uri
    - Envoy::Http::Utility::extractHostPathFromUri
    - ASSERT
    - ENVOY_LOG
    - SerializeToString
    linkageType: ''
    returnType: void
    signature: "void HttpCallImpl(Envoy::Upstream::ClusterManager& cm,\n               Envoy::Event::Dispatcher&
      dispatcher, const HttpUri& uri,\n               const std::string& suffix_url,\n
      \              std::function<const std::string&()> token_fn,\n               const
      Envoy::Protobuf::Message& body, uint32_t timeout_ms,\n               uint32_t
      retries, Envoy::Tracing::Span& parent_span,\n               Envoy::TimeSource&
      time_source,\n               const std::string& trace_operation_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - on_done
    argTypes:
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setDoneFunc(HttpCall::DoneFunc on_done)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    linkageType: ''
    returnType: void
    signature: void call() override
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:87,1
    - Dst: Envoy::Http::Utility::getResponseStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:92,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:94,1
    - Dst: std::to_string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:95,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:96,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:98,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:99,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: static_cast<char*>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:100,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:103,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:104,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:106,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:108,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:111,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:115,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:117,1
    - Dst: absl::StrAppend
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:118,1
    - Dst: Envoy::Grpc::Utility::httpToGrpcStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:120,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:121,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:124,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:129,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::enumToInt
    - finishSpan
    - Envoy::Http::Utility::getResponseStatus
    - headers
    - setTag
    - Envoy::Grpc::Utility::httpToGrpcStatus
    - absl::StrCat
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - std::string::empty
    - static_cast<char*>
    - on_done_
    - absl::StrAppend
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - static_cast<StatusCode>
    - std::to_string
    - OkStatus
    - std::string
    - Envoy::Tracing::Tags::get
    - body
    linkageType: ''
    returnType: void
    signature: "void onSuccess(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::ResponseMessagePtr&&
      response) override"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:136,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:140,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:144,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:148,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:150,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:154,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:155,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:156,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 158
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::string
    - Envoy::Tracing::Tags::get
    - setTag
    linkageType: ''
    returnType: void
    signature: "void onFailure(const Envoy::Http::AsyncClient::Request&,\n                 Envoy::Http::AsyncClient::FailureReason
      reason) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:173,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:178,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ' status_code'
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 181
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 64
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - ENVOY_LOG
    linkageType: ''
    returnType: bool
    signature: bool attemptRetry(const uint64_t& status_code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: token_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:185,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:186,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:187,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:190,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:197,1
    - Dst: spawnChild
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: Envoy::Tracing::EgressConfig::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:200,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:201,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:202,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:203,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:204,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:205,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:206,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:209,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:210,1
    - Dst: injectContext
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:211,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:212,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:215,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:217,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:218,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:219,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 222
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 64
    functionsReached:
    - cluster
    - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    - std::move
    - injectContext
    - Status
    - systemTime
    - Envoy::Tracing::EgressConfig::get
    - Envoy::Http::RequestMessagePtr::headers
    - setTag
    - auto::httpAsyncClient
    - std::chrono::milliseconds
    - absl::StrCat
    - spawnChild
    - ENVOY_LOG
    - std::string::empty
    - getThreadLocalCluster
    - on_done_
    - token_fn_
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - Envoy::Tracing::Tags::get
    - Envoy::Http::AsyncClient::RequestOptions
    linkageType: ''
    returnType: void
    signature: void makeOneCall()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:229,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:231,1
    - Dst: Envoy::Tracing::Tags::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:232,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:233,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:237,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:238,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:239,1
    - Dst: on_done_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 32
    functionsReached:
    - on_done_
    - finishSpan
    - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
    - ENVOY_LOG
    - Status
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    - Envoy::Tracing::Tags::get
    - std::string
    - setTag
    linkageType: ''
    returnType: void
    signature: void cancel() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::reset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 128
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reset()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:250,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:251,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:252,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:254,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:255,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: data
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:257,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:258,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ' token'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 32
    functionsReached:
    - size
    - Envoy::Http::RequestMessagePtr::body
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::RequestMessagePtr::headers
    - data
    - Envoy::Http::Headers::get
    - handle
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: Envoy::Http::RequestMessagePtr prepareHeaders(const std::string& token)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    - Dst: std::unique_ptr<HttpCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 269
    functionName: espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 160
    functionsReached:
    - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
    - std::unique_ptr<HttpCallImpl>
    linkageType: ''
    returnType: void
    signature: void deferredDelete()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - ' cm'
    - ' dispatcher'
    - ' uri'
    - ' suffix_url'
    - token_fn
    - timeout_ms
    - retries
    - ' time_source'
    - ' trace_operation_name'
    argTypes:
    - Envoy::Upstream::ClusterManager
    - Envoy::Event::Dispatcher
    - ::espv2::api::envoy::v12::http::common::HttpUri
    - std::string
    - std::function<const std::string&()>
    - uint32_t
    - uint32_t
    - Envoy::TimeSource
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 331
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void HttpCallFactoryImpl::HttpCallFactoryImpl(\n    Envoy::Upstream::ClusterManager&
      cm, Envoy::Event::Dispatcher& dispatcher,\n    const ::espv2::api::envoy::v12::http::common::HttpUri&
      uri,\n    const std::string& suffix_url, std::function<const std::string&()>
      token_fn,\n    uint32_t timeout_ms, uint32_t retries, Envoy::TimeSource& time_source,\n
      \   const std::string& trace_operation_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:336,1
    - Dst: HttpCallImpl::HttpCallImpl
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:337,1
    - Dst: HttpCallImpl*::setDoneFunc
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:340,1
    - Dst: erase
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:347,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:349,1
    - Dst: insert
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' body'
    - ' parent_span'
    - on_done
    argTypes:
    - Envoy::Protobuf::Message
    - Envoy::Tracing::Span
    - HttpCall::DoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 353
    functionName: espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - on_done
    - HttpCallImpl::HttpCallImpl
    - erase
    - ENVOY_LOG
    - insert
    - HttpCallImpl*::setDoneFunc
    linkageType: ''
    returnType: HttpCall
    signature: "HttpCall * HttpCallFactoryImpl::createHttpCall(\n    const Envoy::Protobuf::Message&
      body, Envoy::Tracing::Span& parent_span,\n    HttpCall::DoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call.cc:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: HttpCallFactoryImpl::~HttpCallFactoryImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~ServiceControlCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~ServiceControlCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~ServiceControlCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~ServiceControlCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~ServiceControlCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~ServiceControlCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~ServiceControlCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~ServiceControlCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~ServiceControlCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~ServiceControlCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~ServiceControlCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~ServiceControlCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~ServiceControlCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~ServiceControlCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~ServiceControlCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~ServiceControlCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~ServiceControlCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~ServiceControlCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~ServiceControlCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~ServiceControlCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~ServiceControlCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~ServiceControlCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~ServiceControlCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~ServiceControlCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~ServiceControlCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~ServiceControlCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~ServiceControlCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~ServiceControlCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~ServiceControlCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~ServiceControlCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: ~ServiceControlCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~ServiceControlCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ServiceControlCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - non_match_rqm_ctx
    linkageType: ''
    returnType: bool
    signature: bool isConfigured() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:81,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isQuotaRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:86,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isCheckRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isReportRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool hasApiKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' random'
    - ' cfg_parser'
    - ' time_source'
    argTypes:
    - Envoy::Random::RandomGenerator
    - FilterConfigParser
    - Envoy::TimeSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerFactoryImpl(Envoy::Random::RandomGenerator&
      random,\n                                   const FilterConfigParser& cfg_parser,\n
      \                                  Envoy::TimeSource& time_source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlHandlerImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:158,1
    - Dst: uuid
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - uuid
    - std::make_unique<ServiceControlHandlerImpl>
    linkageType: ''
    returnType: ServiceControlHandlerPtr
    signature: "ServiceControlHandlerPtr createHandler(\n      const Envoy::Http::RequestHeaderMap&
      headers,\n      Envoy::Http::StreamDecoderFilterCallbacks* decoder_callbacks,\n
      \     ServiceControlFilterStats& filter_stats) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - non_match_rqm_ctx
    linkageType: ''
    returnType: bool
    signature: bool isConfigured() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:81,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isQuotaRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:86,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isCheckRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isReportRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool hasApiKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' random'
    - ' cfg_parser'
    - ' time_source'
    argTypes:
    - Envoy::Random::RandomGenerator
    - FilterConfigParser
    - Envoy::TimeSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerFactoryImpl(Envoy::Random::RandomGenerator&
      random,\n                                   const FilterConfigParser& cfg_parser,\n
      \                                  Envoy::TimeSource& time_source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlHandlerImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:158,1
    - Dst: uuid
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - uuid
    - std::make_unique<ServiceControlHandlerImpl>
    linkageType: ''
    returnType: ServiceControlHandlerPtr
    signature: "ServiceControlHandlerPtr createHandler(\n      const Envoy::Http::RequestHeaderMap&
      headers,\n      Envoy::Http::StreamDecoderFilterCallbacks* decoder_callbacks,\n
      \     ServiceControlFilterStats& filter_stats) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - non_match_rqm_ctx
    linkageType: ''
    returnType: bool
    signature: bool isConfigured() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:81,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isQuotaRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:86,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isCheckRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isReportRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool hasApiKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' random'
    - ' cfg_parser'
    - ' time_source'
    argTypes:
    - Envoy::Random::RandomGenerator
    - FilterConfigParser
    - Envoy::TimeSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerFactoryImpl(Envoy::Random::RandomGenerator&
      random,\n                                   const FilterConfigParser& cfg_parser,\n
      \                                  Envoy::TimeSource& time_source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlHandlerImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:158,1
    - Dst: uuid
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - uuid
    - std::make_unique<ServiceControlHandlerImpl>
    linkageType: ''
    returnType: ServiceControlHandlerPtr
    signature: "ServiceControlHandlerPtr createHandler(\n      const Envoy::Http::RequestHeaderMap&
      headers,\n      Envoy::Http::StreamDecoderFilterCallbacks* decoder_callbacks,\n
      \     ServiceControlFilterStats& filter_stats) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - non_match_rqm_ctx
    linkageType: ''
    returnType: bool
    signature: bool isConfigured() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:81,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isQuotaRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:86,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isCheckRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isReportRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool hasApiKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' random'
    - ' cfg_parser'
    - ' time_source'
    argTypes:
    - Envoy::Random::RandomGenerator
    - FilterConfigParser
    - Envoy::TimeSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerFactoryImpl(Envoy::Random::RandomGenerator&
      random,\n                                   const FilterConfigParser& cfg_parser,\n
      \                                  Envoy::TimeSource& time_source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlHandlerImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:158,1
    - Dst: uuid
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - uuid
    - std::make_unique<ServiceControlHandlerImpl>
    linkageType: ''
    returnType: ServiceControlHandlerPtr
    signature: "ServiceControlHandlerPtr createHandler(\n      const Envoy::Http::RequestHeaderMap&
      headers,\n      Envoy::Http::StreamDecoderFilterCallbacks* decoder_callbacks,\n
      \     ServiceControlFilterStats& filter_stats) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - non_match_rqm_ctx
    linkageType: ''
    returnType: bool
    signature: bool isConfigured() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:81,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isQuotaRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:86,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isCheckRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isReportRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool hasApiKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' random'
    - ' cfg_parser'
    - ' time_source'
    argTypes:
    - Envoy::Random::RandomGenerator
    - FilterConfigParser
    - Envoy::TimeSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerFactoryImpl(Envoy::Random::RandomGenerator&
      random,\n                                   const FilterConfigParser& cfg_parser,\n
      \                                  Envoy::TimeSource& time_source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlHandlerImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:158,1
    - Dst: uuid
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - uuid
    - std::make_unique<ServiceControlHandlerImpl>
    linkageType: ''
    returnType: ServiceControlHandlerPtr
    signature: "ServiceControlHandlerPtr createHandler(\n      const Envoy::Http::RequestHeaderMap&
      headers,\n      Envoy::Http::StreamDecoderFilterCallbacks* decoder_callbacks,\n
      \     ServiceControlFilterStats& filter_stats) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - non_match_rqm_ctx
    linkageType: ''
    returnType: bool
    signature: bool isConfigured() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:81,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isQuotaRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:86,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isCheckRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isReportRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool hasApiKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' random'
    - ' cfg_parser'
    - ' time_source'
    argTypes:
    - Envoy::Random::RandomGenerator
    - FilterConfigParser
    - Envoy::TimeSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerFactoryImpl(Envoy::Random::RandomGenerator&
      random,\n                                   const FilterConfigParser& cfg_parser,\n
      \                                  Envoy::TimeSource& time_source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlHandlerImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:158,1
    - Dst: uuid
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - uuid
    - std::make_unique<ServiceControlHandlerImpl>
    linkageType: ''
    returnType: ServiceControlHandlerPtr
    signature: "ServiceControlHandlerPtr createHandler(\n      const Envoy::Http::RequestHeaderMap&
      headers,\n      Envoy::Http::StreamDecoderFilterCallbacks* decoder_callbacks,\n
      \     ServiceControlFilterStats& filter_stats) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - non_match_rqm_ctx
    linkageType: ''
    returnType: bool
    signature: bool isConfigured() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:81,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isQuotaRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:86,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isCheckRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isReportRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool hasApiKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' random'
    - ' cfg_parser'
    - ' time_source'
    argTypes:
    - Envoy::Random::RandomGenerator
    - FilterConfigParser
    - Envoy::TimeSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerFactoryImpl(Envoy::Random::RandomGenerator&
      random,\n                                   const FilterConfigParser& cfg_parser,\n
      \                                  Envoy::TimeSource& time_source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlHandlerImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:158,1
    - Dst: uuid
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - uuid
    - std::make_unique<ServiceControlHandlerImpl>
    linkageType: ''
    returnType: ServiceControlHandlerPtr
    signature: "ServiceControlHandlerPtr createHandler(\n      const Envoy::Http::RequestHeaderMap&
      headers,\n      Envoy::Http::StreamDecoderFilterCallbacks* decoder_callbacks,\n
      \     ServiceControlFilterStats& filter_stats) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - non_match_rqm_ctx
    linkageType: ''
    returnType: bool
    signature: bool isConfigured() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:81,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isQuotaRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:86,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isCheckRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isReportRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool hasApiKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' random'
    - ' cfg_parser'
    - ' time_source'
    argTypes:
    - Envoy::Random::RandomGenerator
    - FilterConfigParser
    - Envoy::TimeSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerFactoryImpl(Envoy::Random::RandomGenerator&
      random,\n                                   const FilterConfigParser& cfg_parser,\n
      \                                  Envoy::TimeSource& time_source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlHandlerImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:158,1
    - Dst: uuid
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - uuid
    - std::make_unique<ServiceControlHandlerImpl>
    linkageType: ''
    returnType: ServiceControlHandlerPtr
    signature: "ServiceControlHandlerPtr createHandler(\n      const Envoy::Http::RequestHeaderMap&
      headers,\n      Envoy::Http::StreamDecoderFilterCallbacks* decoder_callbacks,\n
      \     ServiceControlFilterStats& filter_stats) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - non_match_rqm_ctx
    linkageType: ''
    returnType: bool
    signature: bool isConfigured() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:81,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isQuotaRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:86,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isCheckRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isReportRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool hasApiKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' random'
    - ' cfg_parser'
    - ' time_source'
    argTypes:
    - Envoy::Random::RandomGenerator
    - FilterConfigParser
    - Envoy::TimeSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerFactoryImpl(Envoy::Random::RandomGenerator&
      random,\n                                   const FilterConfigParser& cfg_parser,\n
      \                                  Envoy::TimeSource& time_source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlHandlerImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:158,1
    - Dst: uuid
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - uuid
    - std::make_unique<ServiceControlHandlerImpl>
    linkageType: ''
    returnType: ServiceControlHandlerPtr
    signature: "ServiceControlHandlerPtr createHandler(\n      const Envoy::Http::RequestHeaderMap&
      headers,\n      Envoy::Http::StreamDecoderFilterCallbacks* decoder_callbacks,\n
      \     ServiceControlFilterStats& filter_stats) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - non_match_rqm_ctx
    linkageType: ''
    returnType: bool
    signature: bool isConfigured() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:81,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isQuotaRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:86,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isCheckRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isReportRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool hasApiKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' random'
    - ' cfg_parser'
    - ' time_source'
    argTypes:
    - Envoy::Random::RandomGenerator
    - FilterConfigParser
    - Envoy::TimeSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerFactoryImpl(Envoy::Random::RandomGenerator&
      random,\n                                   const FilterConfigParser& cfg_parser,\n
      \                                  Envoy::TimeSource& time_source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlHandlerImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:158,1
    - Dst: uuid
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - uuid
    - std::make_unique<ServiceControlHandlerImpl>
    linkageType: ''
    returnType: ServiceControlHandlerPtr
    signature: "ServiceControlHandlerPtr createHandler(\n      const Envoy::Http::RequestHeaderMap&
      headers,\n      Envoy::Http::StreamDecoderFilterCallbacks* decoder_callbacks,\n
      \     ServiceControlFilterStats& filter_stats) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - non_match_rqm_ctx
    linkageType: ''
    returnType: bool
    signature: bool isConfigured() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:81,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isQuotaRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:86,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isCheckRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isReportRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool hasApiKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' random'
    - ' cfg_parser'
    - ' time_source'
    argTypes:
    - Envoy::Random::RandomGenerator
    - FilterConfigParser
    - Envoy::TimeSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerFactoryImpl(Envoy::Random::RandomGenerator&
      random,\n                                   const FilterConfigParser& cfg_parser,\n
      \                                  Envoy::TimeSource& time_source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlHandlerImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:158,1
    - Dst: uuid
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - uuid
    - std::make_unique<ServiceControlHandlerImpl>
    linkageType: ''
    returnType: ServiceControlHandlerPtr
    signature: "ServiceControlHandlerPtr createHandler(\n      const Envoy::Http::RequestHeaderMap&
      headers,\n      Envoy::Http::StreamDecoderFilterCallbacks* decoder_callbacks,\n
      \     ServiceControlFilterStats& filter_stats) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - non_match_rqm_ctx
    linkageType: ''
    returnType: bool
    signature: bool isConfigured() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:81,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isQuotaRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:86,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isCheckRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isReportRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool hasApiKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' random'
    - ' cfg_parser'
    - ' time_source'
    argTypes:
    - Envoy::Random::RandomGenerator
    - FilterConfigParser
    - Envoy::TimeSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerFactoryImpl(Envoy::Random::RandomGenerator&
      random,\n                                   const FilterConfigParser& cfg_parser,\n
      \                                  Envoy::TimeSource& time_source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlHandlerImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:158,1
    - Dst: uuid
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - uuid
    - std::make_unique<ServiceControlHandlerImpl>
    linkageType: ''
    returnType: ServiceControlHandlerPtr
    signature: "ServiceControlHandlerPtr createHandler(\n      const Envoy::Http::RequestHeaderMap&
      headers,\n      Envoy::Http::StreamDecoderFilterCallbacks* decoder_callbacks,\n
      \     ServiceControlFilterStats& filter_stats) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - non_match_rqm_ctx
    linkageType: ''
    returnType: bool
    signature: bool isConfigured() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:81,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isQuotaRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:86,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isCheckRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isReportRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool hasApiKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' random'
    - ' cfg_parser'
    - ' time_source'
    argTypes:
    - Envoy::Random::RandomGenerator
    - FilterConfigParser
    - Envoy::TimeSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerFactoryImpl(Envoy::Random::RandomGenerator&
      random,\n                                   const FilterConfigParser& cfg_parser,\n
      \                                  Envoy::TimeSource& time_source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlHandlerImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:158,1
    - Dst: uuid
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - uuid
    - std::make_unique<ServiceControlHandlerImpl>
    linkageType: ''
    returnType: ServiceControlHandlerPtr
    signature: "ServiceControlHandlerPtr createHandler(\n      const Envoy::Http::RequestHeaderMap&
      headers,\n      Envoy::Http::StreamDecoderFilterCallbacks* decoder_callbacks,\n
      \     ServiceControlFilterStats& filter_stats) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - non_match_rqm_ctx
    linkageType: ''
    returnType: bool
    signature: bool isConfigured() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:81,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isQuotaRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:86,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isCheckRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isReportRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool hasApiKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' random'
    - ' cfg_parser'
    - ' time_source'
    argTypes:
    - Envoy::Random::RandomGenerator
    - FilterConfigParser
    - Envoy::TimeSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerFactoryImpl(Envoy::Random::RandomGenerator&
      random,\n                                   const FilterConfigParser& cfg_parser,\n
      \                                  Envoy::TimeSource& time_source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlHandlerImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:158,1
    - Dst: uuid
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - uuid
    - std::make_unique<ServiceControlHandlerImpl>
    linkageType: ''
    returnType: ServiceControlHandlerPtr
    signature: "ServiceControlHandlerPtr createHandler(\n      const Envoy::Http::RequestHeaderMap&
      headers,\n      Envoy::Http::StreamDecoderFilterCallbacks* decoder_callbacks,\n
      \     ServiceControlFilterStats& filter_stats) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - non_match_rqm_ctx
    linkageType: ''
    returnType: bool
    signature: bool isConfigured() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:81,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isQuotaRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:86,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isCheckRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isReportRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool hasApiKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' random'
    - ' cfg_parser'
    - ' time_source'
    argTypes:
    - Envoy::Random::RandomGenerator
    - FilterConfigParser
    - Envoy::TimeSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerFactoryImpl(Envoy::Random::RandomGenerator&
      random,\n                                   const FilterConfigParser& cfg_parser,\n
      \                                  Envoy::TimeSource& time_source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlHandlerImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:158,1
    - Dst: uuid
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - uuid
    - std::make_unique<ServiceControlHandlerImpl>
    linkageType: ''
    returnType: ServiceControlHandlerPtr
    signature: "ServiceControlHandlerPtr createHandler(\n      const Envoy::Http::RequestHeaderMap&
      headers,\n      Envoy::Http::StreamDecoderFilterCallbacks* decoder_callbacks,\n
      \     ServiceControlFilterStats& filter_stats) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - non_match_rqm_ctx
    linkageType: ''
    returnType: bool
    signature: bool isConfigured() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:81,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isQuotaRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:86,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isCheckRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - config
    linkageType: ''
    returnType: bool
    signature: bool isReportRequired() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - empty
    linkageType: ''
    returnType: bool
    signature: bool hasApiKey() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - ' random'
    - ' cfg_parser'
    - ' time_source'
    argTypes:
    - Envoy::Random::RandomGenerator
    - FilterConfigParser
    - Envoy::TimeSource
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerFactoryImpl(Envoy::Random::RandomGenerator&
      random,\n                                   const FilterConfigParser& cfg_parser,\n
      \                                  Envoy::TimeSource& time_source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlHandlerImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:158,1
    - Dst: uuid
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
    functionUses: 0
    functionsReached:
    - uuid
    - std::make_unique<ServiceControlHandlerImpl>
    linkageType: ''
    returnType: ServiceControlHandlerPtr
    signature: "ServiceControlHandlerPtr createHandler(\n      const Envoy::Http::RequestHeaderMap&
      headers,\n      Envoy::Http::StreamDecoderFilterCallbacks* decoder_callbacks,\n
      \     ServiceControlFilterStats& filter_stats) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HttpCallTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:66,1
    - Dst: set_uri
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:69,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:70,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: httpAsyncClient
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:71,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:72,1
    - Dst: ON_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:73,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:75,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:80,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:81,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:82,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:86,1
    - Dst: NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:87,1
    - Dst: push_back
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:89,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 99
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - set_cluster
    - ON_CALL
    - EXPECT_EQ
    - value
    - push_back
    - std::make_unique<HttpCallFactoryImpl>
    - Envoy::Http::CustomHeaders::get
    - Invoke
    - EXPECT_CALL
    - NiceMock<Envoy::Http::MockAsyncClientRequest>::MockAsyncClientRequest>
    - set_uri
    - Return
    - httpAsyncClient
    - send_
    - headers
    - getThreadLocalCluster
    - ReturnRef
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TearDown() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:108,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:110,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:111,1
    - Dst: NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:113,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: setTag
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: AtLeast
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:115,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:116,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: spawnChild_
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:118,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    - empty
    - AtLeast
    - absl::StrCat
    - EXPECT_CALL
    - finishSpan
    - Return
    - NiceMock<Envoy::Tracing::MockSpan>::MockSpan>
    - spawnChild_
    - setTag
    linkageType: ''
    returnType: NiceMock<Envoy::Tracing::MockSpan>
    signature: NiceMock<Envoy::Tracing::MockSpan> * makeMockChildSpan()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: '& lastHttpRequest() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: Envoy::Http::AsyncClient::Request
    signature: Envoy::Http::AsyncClient::Request & lastHttpRequest() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:132,1
    - Dst: Envoy::Http::ResponseHeaderMapPtr::setStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:133,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status_code
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::ResponseHeaderMapPtr::setStatus
    - std::make_unique<ResponseMessageImpl>
    - espv2::envoy::http_filters::service_control::create
    - std::move
    linkageType: ''
    returnType: Envoy::Http::ResponseMessagePtr
    signature: "Envoy::Http::ResponseMessagePtr makeResponseWithStatus(\n      const
      uint64_t status_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:175,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:176,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:178,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:179,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:180,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:181,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:185,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:186,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:188,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpOk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:194,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:195,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:198,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:199,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:200,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:201,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:202,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:206,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:208,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:213,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 215
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallSuccessHttpNotFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:219,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:220,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:223,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:224,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:225,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:227,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:230,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:231,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:233,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:236,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:242,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:243,1
    - Dst: clear
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:248,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:249,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:250,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:251,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:252,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - EXPECT_CALL
    - Call
    - Status
    - clear
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestEmptyTokenCallFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:259,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:263,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:264,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:267,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:268,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:271,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:274,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:275,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:276,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:277,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:278,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:282,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:283,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:284,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:286,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:290,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:291,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 293
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestRetryCallSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:298,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:303,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:304,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:307,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:308,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:310,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:311,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:312,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:315,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:316,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:317,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:318,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:319,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:323,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:324,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:325,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:326,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:331,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:332,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - lastHttpRequest
    - OkStatus
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:339,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:344,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:345,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:348,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:349,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:350,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:351,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:354,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:355,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:356,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:358,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:362,1
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:363,1
    - Dst: onFailure
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:364,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:365,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:366,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:370,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:372,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: lastHttpRequest
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:376,1
    - Dst: makeResponseWithStatus
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 378
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - std::make_unique<HttpCallFactoryImpl>
    - size
    - onSuccess
    - makeResponseWithStatus
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - Status
    - lastHttpRequest
    - onFailure
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestThreeRetriesWithLastFailure)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:382,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:384,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:385,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:386,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:388,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:391,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:392,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:395,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:396,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestActiveCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeMockChildSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:402,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:403,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:406,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:407,1
    - Dst: HttpCall*::call
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:408,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:410,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:411,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:415,1
    - Dst: HttpCall*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:416,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: finishSpan
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:420,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 422
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
    functionUses: 0
    functionsReached:
    - HttpCall*::call
    - createHttpCall
    - EXPECT_EQ
    - size
    - cancel
    - HttpCall*::cancel
    - finishSpan
    - EXPECT_CALL
    - makeMockChildSpan
    - Call
    - reset
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void TEST_F(HttpCallTest, TestSingleCallCancel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~HttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~HttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~HttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~HttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~HttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~HttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~HttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~HttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~HttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~HttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~HttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~HttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~HttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~HttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~HttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~HttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~HttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~HttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~HttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~HttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~HttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~HttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~HttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~HttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~HttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~HttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~HttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~HttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~HttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~HttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ~HttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: ~HttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/http_call.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HttpCallFactory()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OK_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:31,1
    - Dst: CANCELLED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:34,1
    - Dst: UNKNOWN_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:37,1
    - Dst: INVALID_ARGUMENT_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:40,1
    - Dst: DEADLINE_EXCEEDED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:43,1
    - Dst: NOT_FOUND_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:46,1
    - Dst: ALREADY_EXISTS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:49,1
    - Dst: PERMISSION_DENIED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:52,1
    - Dst: RESOURCE_EXHAUSTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:55,1
    - Dst: FAILED_PRECONDITION_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:58,1
    - Dst: ABORTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:61,1
    - Dst: OUT_OF_RANGE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:64,1
    - Dst: UNIMPLEMENTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:67,1
    - Dst: INTERNAL_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:70,1
    - Dst: UNAVAILABLE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:73,1
    - Dst: DATA_LOSS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:76,1
    - Dst: UNAUTHENTICATED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 2
    argNames:
    - ' stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 84
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc
    functionUses: 0
    functionsReached:
    - UNKNOWN_::inc
    - INVALID_ARGUMENT_::inc
    - FAILED_PRECONDITION_::inc
    - OK_::inc
    - UNAVAILABLE_::inc
    - NOT_FOUND_::inc
    - DEADLINE_EXCEEDED_::inc
    - OUT_OF_RANGE_::inc
    - UNIMPLEMENTED_::inc
    - UNAUTHENTICATED_::inc
    - DATA_LOSS_::inc
    - INTERNAL_::inc
    - CANCELLED_::inc
    - PERMISSION_DENIED_::inc
    - ABORTED_::inc
    - ALREADY_EXISTS_::inc
    - RESOURCE_EXHAUSTED_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterStats::collectCallStatus(CallStatusStats&
      stats,\n                                                  const StatusCode&
      code)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OK_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:31,1
    - Dst: CANCELLED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:34,1
    - Dst: UNKNOWN_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:37,1
    - Dst: INVALID_ARGUMENT_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:40,1
    - Dst: DEADLINE_EXCEEDED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:43,1
    - Dst: NOT_FOUND_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:46,1
    - Dst: ALREADY_EXISTS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:49,1
    - Dst: PERMISSION_DENIED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:52,1
    - Dst: RESOURCE_EXHAUSTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:55,1
    - Dst: FAILED_PRECONDITION_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:58,1
    - Dst: ABORTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:61,1
    - Dst: OUT_OF_RANGE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:64,1
    - Dst: UNIMPLEMENTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:67,1
    - Dst: INTERNAL_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:70,1
    - Dst: UNAVAILABLE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:73,1
    - Dst: DATA_LOSS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:76,1
    - Dst: UNAUTHENTICATED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 2
    argNames:
    - ' stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 84
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc
    functionUses: 0
    functionsReached:
    - UNKNOWN_::inc
    - INVALID_ARGUMENT_::inc
    - FAILED_PRECONDITION_::inc
    - OK_::inc
    - UNAVAILABLE_::inc
    - NOT_FOUND_::inc
    - DEADLINE_EXCEEDED_::inc
    - OUT_OF_RANGE_::inc
    - UNIMPLEMENTED_::inc
    - UNAUTHENTICATED_::inc
    - DATA_LOSS_::inc
    - INTERNAL_::inc
    - CANCELLED_::inc
    - PERMISSION_DENIED_::inc
    - ABORTED_::inc
    - ALREADY_EXISTS_::inc
    - RESOURCE_EXHAUSTED_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterStats::collectCallStatus(CallStatusStats&
      stats,\n                                                  const StatusCode&
      code)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OK_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:31,1
    - Dst: CANCELLED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:34,1
    - Dst: UNKNOWN_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:37,1
    - Dst: INVALID_ARGUMENT_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:40,1
    - Dst: DEADLINE_EXCEEDED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:43,1
    - Dst: NOT_FOUND_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:46,1
    - Dst: ALREADY_EXISTS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:49,1
    - Dst: PERMISSION_DENIED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:52,1
    - Dst: RESOURCE_EXHAUSTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:55,1
    - Dst: FAILED_PRECONDITION_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:58,1
    - Dst: ABORTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:61,1
    - Dst: OUT_OF_RANGE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:64,1
    - Dst: UNIMPLEMENTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:67,1
    - Dst: INTERNAL_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:70,1
    - Dst: UNAVAILABLE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:73,1
    - Dst: DATA_LOSS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:76,1
    - Dst: UNAUTHENTICATED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 2
    argNames:
    - ' stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 84
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc
    functionUses: 0
    functionsReached:
    - UNKNOWN_::inc
    - INVALID_ARGUMENT_::inc
    - FAILED_PRECONDITION_::inc
    - OK_::inc
    - UNAVAILABLE_::inc
    - NOT_FOUND_::inc
    - DEADLINE_EXCEEDED_::inc
    - OUT_OF_RANGE_::inc
    - UNIMPLEMENTED_::inc
    - UNAUTHENTICATED_::inc
    - DATA_LOSS_::inc
    - INTERNAL_::inc
    - CANCELLED_::inc
    - PERMISSION_DENIED_::inc
    - ABORTED_::inc
    - ALREADY_EXISTS_::inc
    - RESOURCE_EXHAUSTED_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterStats::collectCallStatus(CallStatusStats&
      stats,\n                                                  const StatusCode&
      code)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OK_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:31,1
    - Dst: CANCELLED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:34,1
    - Dst: UNKNOWN_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:37,1
    - Dst: INVALID_ARGUMENT_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:40,1
    - Dst: DEADLINE_EXCEEDED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:43,1
    - Dst: NOT_FOUND_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:46,1
    - Dst: ALREADY_EXISTS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:49,1
    - Dst: PERMISSION_DENIED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:52,1
    - Dst: RESOURCE_EXHAUSTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:55,1
    - Dst: FAILED_PRECONDITION_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:58,1
    - Dst: ABORTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:61,1
    - Dst: OUT_OF_RANGE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:64,1
    - Dst: UNIMPLEMENTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:67,1
    - Dst: INTERNAL_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:70,1
    - Dst: UNAVAILABLE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:73,1
    - Dst: DATA_LOSS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:76,1
    - Dst: UNAUTHENTICATED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 2
    argNames:
    - ' stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 84
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc
    functionUses: 0
    functionsReached:
    - UNKNOWN_::inc
    - INVALID_ARGUMENT_::inc
    - FAILED_PRECONDITION_::inc
    - OK_::inc
    - UNAVAILABLE_::inc
    - NOT_FOUND_::inc
    - DEADLINE_EXCEEDED_::inc
    - OUT_OF_RANGE_::inc
    - UNIMPLEMENTED_::inc
    - UNAUTHENTICATED_::inc
    - DATA_LOSS_::inc
    - INTERNAL_::inc
    - CANCELLED_::inc
    - PERMISSION_DENIED_::inc
    - ABORTED_::inc
    - ALREADY_EXISTS_::inc
    - RESOURCE_EXHAUSTED_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterStats::collectCallStatus(CallStatusStats&
      stats,\n                                                  const StatusCode&
      code)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OK_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:31,1
    - Dst: CANCELLED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:34,1
    - Dst: UNKNOWN_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:37,1
    - Dst: INVALID_ARGUMENT_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:40,1
    - Dst: DEADLINE_EXCEEDED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:43,1
    - Dst: NOT_FOUND_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:46,1
    - Dst: ALREADY_EXISTS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:49,1
    - Dst: PERMISSION_DENIED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:52,1
    - Dst: RESOURCE_EXHAUSTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:55,1
    - Dst: FAILED_PRECONDITION_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:58,1
    - Dst: ABORTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:61,1
    - Dst: OUT_OF_RANGE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:64,1
    - Dst: UNIMPLEMENTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:67,1
    - Dst: INTERNAL_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:70,1
    - Dst: UNAVAILABLE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:73,1
    - Dst: DATA_LOSS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:76,1
    - Dst: UNAUTHENTICATED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 2
    argNames:
    - ' stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 84
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc
    functionUses: 0
    functionsReached:
    - UNKNOWN_::inc
    - INVALID_ARGUMENT_::inc
    - FAILED_PRECONDITION_::inc
    - OK_::inc
    - UNAVAILABLE_::inc
    - NOT_FOUND_::inc
    - DEADLINE_EXCEEDED_::inc
    - OUT_OF_RANGE_::inc
    - UNIMPLEMENTED_::inc
    - UNAUTHENTICATED_::inc
    - DATA_LOSS_::inc
    - INTERNAL_::inc
    - CANCELLED_::inc
    - PERMISSION_DENIED_::inc
    - ABORTED_::inc
    - ALREADY_EXISTS_::inc
    - RESOURCE_EXHAUSTED_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterStats::collectCallStatus(CallStatusStats&
      stats,\n                                                  const StatusCode&
      code)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OK_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:31,1
    - Dst: CANCELLED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:34,1
    - Dst: UNKNOWN_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:37,1
    - Dst: INVALID_ARGUMENT_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:40,1
    - Dst: DEADLINE_EXCEEDED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:43,1
    - Dst: NOT_FOUND_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:46,1
    - Dst: ALREADY_EXISTS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:49,1
    - Dst: PERMISSION_DENIED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:52,1
    - Dst: RESOURCE_EXHAUSTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:55,1
    - Dst: FAILED_PRECONDITION_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:58,1
    - Dst: ABORTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:61,1
    - Dst: OUT_OF_RANGE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:64,1
    - Dst: UNIMPLEMENTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:67,1
    - Dst: INTERNAL_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:70,1
    - Dst: UNAVAILABLE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:73,1
    - Dst: DATA_LOSS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:76,1
    - Dst: UNAUTHENTICATED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 2
    argNames:
    - ' stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 84
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc
    functionUses: 0
    functionsReached:
    - UNKNOWN_::inc
    - INVALID_ARGUMENT_::inc
    - FAILED_PRECONDITION_::inc
    - OK_::inc
    - UNAVAILABLE_::inc
    - NOT_FOUND_::inc
    - DEADLINE_EXCEEDED_::inc
    - OUT_OF_RANGE_::inc
    - UNIMPLEMENTED_::inc
    - UNAUTHENTICATED_::inc
    - DATA_LOSS_::inc
    - INTERNAL_::inc
    - CANCELLED_::inc
    - PERMISSION_DENIED_::inc
    - ABORTED_::inc
    - ALREADY_EXISTS_::inc
    - RESOURCE_EXHAUSTED_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterStats::collectCallStatus(CallStatusStats&
      stats,\n                                                  const StatusCode&
      code)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OK_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:31,1
    - Dst: CANCELLED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:34,1
    - Dst: UNKNOWN_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:37,1
    - Dst: INVALID_ARGUMENT_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:40,1
    - Dst: DEADLINE_EXCEEDED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:43,1
    - Dst: NOT_FOUND_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:46,1
    - Dst: ALREADY_EXISTS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:49,1
    - Dst: PERMISSION_DENIED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:52,1
    - Dst: RESOURCE_EXHAUSTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:55,1
    - Dst: FAILED_PRECONDITION_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:58,1
    - Dst: ABORTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:61,1
    - Dst: OUT_OF_RANGE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:64,1
    - Dst: UNIMPLEMENTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:67,1
    - Dst: INTERNAL_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:70,1
    - Dst: UNAVAILABLE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:73,1
    - Dst: DATA_LOSS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:76,1
    - Dst: UNAUTHENTICATED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 2
    argNames:
    - ' stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 84
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc
    functionUses: 0
    functionsReached:
    - UNKNOWN_::inc
    - INVALID_ARGUMENT_::inc
    - FAILED_PRECONDITION_::inc
    - OK_::inc
    - UNAVAILABLE_::inc
    - NOT_FOUND_::inc
    - DEADLINE_EXCEEDED_::inc
    - OUT_OF_RANGE_::inc
    - UNIMPLEMENTED_::inc
    - UNAUTHENTICATED_::inc
    - DATA_LOSS_::inc
    - INTERNAL_::inc
    - CANCELLED_::inc
    - PERMISSION_DENIED_::inc
    - ABORTED_::inc
    - ALREADY_EXISTS_::inc
    - RESOURCE_EXHAUSTED_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterStats::collectCallStatus(CallStatusStats&
      stats,\n                                                  const StatusCode&
      code)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OK_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:31,1
    - Dst: CANCELLED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:34,1
    - Dst: UNKNOWN_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:37,1
    - Dst: INVALID_ARGUMENT_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:40,1
    - Dst: DEADLINE_EXCEEDED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:43,1
    - Dst: NOT_FOUND_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:46,1
    - Dst: ALREADY_EXISTS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:49,1
    - Dst: PERMISSION_DENIED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:52,1
    - Dst: RESOURCE_EXHAUSTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:55,1
    - Dst: FAILED_PRECONDITION_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:58,1
    - Dst: ABORTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:61,1
    - Dst: OUT_OF_RANGE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:64,1
    - Dst: UNIMPLEMENTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:67,1
    - Dst: INTERNAL_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:70,1
    - Dst: UNAVAILABLE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:73,1
    - Dst: DATA_LOSS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:76,1
    - Dst: UNAUTHENTICATED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 2
    argNames:
    - ' stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 84
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc
    functionUses: 0
    functionsReached:
    - UNKNOWN_::inc
    - INVALID_ARGUMENT_::inc
    - FAILED_PRECONDITION_::inc
    - OK_::inc
    - UNAVAILABLE_::inc
    - NOT_FOUND_::inc
    - DEADLINE_EXCEEDED_::inc
    - OUT_OF_RANGE_::inc
    - UNIMPLEMENTED_::inc
    - UNAUTHENTICATED_::inc
    - DATA_LOSS_::inc
    - INTERNAL_::inc
    - CANCELLED_::inc
    - PERMISSION_DENIED_::inc
    - ABORTED_::inc
    - ALREADY_EXISTS_::inc
    - RESOURCE_EXHAUSTED_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterStats::collectCallStatus(CallStatusStats&
      stats,\n                                                  const StatusCode&
      code)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OK_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:31,1
    - Dst: CANCELLED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:34,1
    - Dst: UNKNOWN_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:37,1
    - Dst: INVALID_ARGUMENT_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:40,1
    - Dst: DEADLINE_EXCEEDED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:43,1
    - Dst: NOT_FOUND_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:46,1
    - Dst: ALREADY_EXISTS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:49,1
    - Dst: PERMISSION_DENIED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:52,1
    - Dst: RESOURCE_EXHAUSTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:55,1
    - Dst: FAILED_PRECONDITION_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:58,1
    - Dst: ABORTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:61,1
    - Dst: OUT_OF_RANGE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:64,1
    - Dst: UNIMPLEMENTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:67,1
    - Dst: INTERNAL_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:70,1
    - Dst: UNAVAILABLE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:73,1
    - Dst: DATA_LOSS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:76,1
    - Dst: UNAUTHENTICATED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 2
    argNames:
    - ' stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 84
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc
    functionUses: 0
    functionsReached:
    - UNKNOWN_::inc
    - INVALID_ARGUMENT_::inc
    - FAILED_PRECONDITION_::inc
    - OK_::inc
    - UNAVAILABLE_::inc
    - NOT_FOUND_::inc
    - DEADLINE_EXCEEDED_::inc
    - OUT_OF_RANGE_::inc
    - UNIMPLEMENTED_::inc
    - UNAUTHENTICATED_::inc
    - DATA_LOSS_::inc
    - INTERNAL_::inc
    - CANCELLED_::inc
    - PERMISSION_DENIED_::inc
    - ABORTED_::inc
    - ALREADY_EXISTS_::inc
    - RESOURCE_EXHAUSTED_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterStats::collectCallStatus(CallStatusStats&
      stats,\n                                                  const StatusCode&
      code)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OK_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:31,1
    - Dst: CANCELLED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:34,1
    - Dst: UNKNOWN_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:37,1
    - Dst: INVALID_ARGUMENT_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:40,1
    - Dst: DEADLINE_EXCEEDED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:43,1
    - Dst: NOT_FOUND_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:46,1
    - Dst: ALREADY_EXISTS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:49,1
    - Dst: PERMISSION_DENIED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:52,1
    - Dst: RESOURCE_EXHAUSTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:55,1
    - Dst: FAILED_PRECONDITION_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:58,1
    - Dst: ABORTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:61,1
    - Dst: OUT_OF_RANGE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:64,1
    - Dst: UNIMPLEMENTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:67,1
    - Dst: INTERNAL_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:70,1
    - Dst: UNAVAILABLE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:73,1
    - Dst: DATA_LOSS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:76,1
    - Dst: UNAUTHENTICATED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 2
    argNames:
    - ' stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 84
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc
    functionUses: 0
    functionsReached:
    - UNKNOWN_::inc
    - INVALID_ARGUMENT_::inc
    - FAILED_PRECONDITION_::inc
    - OK_::inc
    - UNAVAILABLE_::inc
    - NOT_FOUND_::inc
    - DEADLINE_EXCEEDED_::inc
    - OUT_OF_RANGE_::inc
    - UNIMPLEMENTED_::inc
    - UNAUTHENTICATED_::inc
    - DATA_LOSS_::inc
    - INTERNAL_::inc
    - CANCELLED_::inc
    - PERMISSION_DENIED_::inc
    - ABORTED_::inc
    - ALREADY_EXISTS_::inc
    - RESOURCE_EXHAUSTED_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterStats::collectCallStatus(CallStatusStats&
      stats,\n                                                  const StatusCode&
      code)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OK_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:31,1
    - Dst: CANCELLED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:34,1
    - Dst: UNKNOWN_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:37,1
    - Dst: INVALID_ARGUMENT_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:40,1
    - Dst: DEADLINE_EXCEEDED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:43,1
    - Dst: NOT_FOUND_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:46,1
    - Dst: ALREADY_EXISTS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:49,1
    - Dst: PERMISSION_DENIED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:52,1
    - Dst: RESOURCE_EXHAUSTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:55,1
    - Dst: FAILED_PRECONDITION_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:58,1
    - Dst: ABORTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:61,1
    - Dst: OUT_OF_RANGE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:64,1
    - Dst: UNIMPLEMENTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:67,1
    - Dst: INTERNAL_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:70,1
    - Dst: UNAVAILABLE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:73,1
    - Dst: DATA_LOSS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:76,1
    - Dst: UNAUTHENTICATED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 2
    argNames:
    - ' stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 84
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc
    functionUses: 0
    functionsReached:
    - UNKNOWN_::inc
    - INVALID_ARGUMENT_::inc
    - FAILED_PRECONDITION_::inc
    - OK_::inc
    - UNAVAILABLE_::inc
    - NOT_FOUND_::inc
    - DEADLINE_EXCEEDED_::inc
    - OUT_OF_RANGE_::inc
    - UNIMPLEMENTED_::inc
    - UNAUTHENTICATED_::inc
    - DATA_LOSS_::inc
    - INTERNAL_::inc
    - CANCELLED_::inc
    - PERMISSION_DENIED_::inc
    - ABORTED_::inc
    - ALREADY_EXISTS_::inc
    - RESOURCE_EXHAUSTED_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterStats::collectCallStatus(CallStatusStats&
      stats,\n                                                  const StatusCode&
      code)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OK_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:31,1
    - Dst: CANCELLED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:34,1
    - Dst: UNKNOWN_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:37,1
    - Dst: INVALID_ARGUMENT_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:40,1
    - Dst: DEADLINE_EXCEEDED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:43,1
    - Dst: NOT_FOUND_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:46,1
    - Dst: ALREADY_EXISTS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:49,1
    - Dst: PERMISSION_DENIED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:52,1
    - Dst: RESOURCE_EXHAUSTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:55,1
    - Dst: FAILED_PRECONDITION_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:58,1
    - Dst: ABORTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:61,1
    - Dst: OUT_OF_RANGE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:64,1
    - Dst: UNIMPLEMENTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:67,1
    - Dst: INTERNAL_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:70,1
    - Dst: UNAVAILABLE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:73,1
    - Dst: DATA_LOSS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:76,1
    - Dst: UNAUTHENTICATED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 2
    argNames:
    - ' stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 84
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc
    functionUses: 0
    functionsReached:
    - UNKNOWN_::inc
    - INVALID_ARGUMENT_::inc
    - FAILED_PRECONDITION_::inc
    - OK_::inc
    - UNAVAILABLE_::inc
    - NOT_FOUND_::inc
    - DEADLINE_EXCEEDED_::inc
    - OUT_OF_RANGE_::inc
    - UNIMPLEMENTED_::inc
    - UNAUTHENTICATED_::inc
    - DATA_LOSS_::inc
    - INTERNAL_::inc
    - CANCELLED_::inc
    - PERMISSION_DENIED_::inc
    - ABORTED_::inc
    - ALREADY_EXISTS_::inc
    - RESOURCE_EXHAUSTED_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterStats::collectCallStatus(CallStatusStats&
      stats,\n                                                  const StatusCode&
      code)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OK_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:31,1
    - Dst: CANCELLED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:34,1
    - Dst: UNKNOWN_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:37,1
    - Dst: INVALID_ARGUMENT_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:40,1
    - Dst: DEADLINE_EXCEEDED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:43,1
    - Dst: NOT_FOUND_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:46,1
    - Dst: ALREADY_EXISTS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:49,1
    - Dst: PERMISSION_DENIED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:52,1
    - Dst: RESOURCE_EXHAUSTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:55,1
    - Dst: FAILED_PRECONDITION_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:58,1
    - Dst: ABORTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:61,1
    - Dst: OUT_OF_RANGE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:64,1
    - Dst: UNIMPLEMENTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:67,1
    - Dst: INTERNAL_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:70,1
    - Dst: UNAVAILABLE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:73,1
    - Dst: DATA_LOSS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:76,1
    - Dst: UNAUTHENTICATED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 2
    argNames:
    - ' stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 84
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc
    functionUses: 0
    functionsReached:
    - UNKNOWN_::inc
    - INVALID_ARGUMENT_::inc
    - FAILED_PRECONDITION_::inc
    - OK_::inc
    - UNAVAILABLE_::inc
    - NOT_FOUND_::inc
    - DEADLINE_EXCEEDED_::inc
    - OUT_OF_RANGE_::inc
    - UNIMPLEMENTED_::inc
    - UNAUTHENTICATED_::inc
    - DATA_LOSS_::inc
    - INTERNAL_::inc
    - CANCELLED_::inc
    - PERMISSION_DENIED_::inc
    - ABORTED_::inc
    - ALREADY_EXISTS_::inc
    - RESOURCE_EXHAUSTED_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterStats::collectCallStatus(CallStatusStats&
      stats,\n                                                  const StatusCode&
      code)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OK_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:31,1
    - Dst: CANCELLED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:34,1
    - Dst: UNKNOWN_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:37,1
    - Dst: INVALID_ARGUMENT_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:40,1
    - Dst: DEADLINE_EXCEEDED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:43,1
    - Dst: NOT_FOUND_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:46,1
    - Dst: ALREADY_EXISTS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:49,1
    - Dst: PERMISSION_DENIED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:52,1
    - Dst: RESOURCE_EXHAUSTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:55,1
    - Dst: FAILED_PRECONDITION_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:58,1
    - Dst: ABORTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:61,1
    - Dst: OUT_OF_RANGE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:64,1
    - Dst: UNIMPLEMENTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:67,1
    - Dst: INTERNAL_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:70,1
    - Dst: UNAVAILABLE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:73,1
    - Dst: DATA_LOSS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:76,1
    - Dst: UNAUTHENTICATED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 2
    argNames:
    - ' stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 84
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc
    functionUses: 0
    functionsReached:
    - UNKNOWN_::inc
    - INVALID_ARGUMENT_::inc
    - FAILED_PRECONDITION_::inc
    - OK_::inc
    - UNAVAILABLE_::inc
    - NOT_FOUND_::inc
    - DEADLINE_EXCEEDED_::inc
    - OUT_OF_RANGE_::inc
    - UNIMPLEMENTED_::inc
    - UNAUTHENTICATED_::inc
    - DATA_LOSS_::inc
    - INTERNAL_::inc
    - CANCELLED_::inc
    - PERMISSION_DENIED_::inc
    - ABORTED_::inc
    - ALREADY_EXISTS_::inc
    - RESOURCE_EXHAUSTED_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterStats::collectCallStatus(CallStatusStats&
      stats,\n                                                  const StatusCode&
      code)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OK_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:31,1
    - Dst: CANCELLED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:34,1
    - Dst: UNKNOWN_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:37,1
    - Dst: INVALID_ARGUMENT_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:40,1
    - Dst: DEADLINE_EXCEEDED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:43,1
    - Dst: NOT_FOUND_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:46,1
    - Dst: ALREADY_EXISTS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:49,1
    - Dst: PERMISSION_DENIED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:52,1
    - Dst: RESOURCE_EXHAUSTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:55,1
    - Dst: FAILED_PRECONDITION_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:58,1
    - Dst: ABORTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:61,1
    - Dst: OUT_OF_RANGE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:64,1
    - Dst: UNIMPLEMENTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:67,1
    - Dst: INTERNAL_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:70,1
    - Dst: UNAVAILABLE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:73,1
    - Dst: DATA_LOSS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:76,1
    - Dst: UNAUTHENTICATED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 2
    argNames:
    - ' stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 84
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc
    functionUses: 0
    functionsReached:
    - UNKNOWN_::inc
    - INVALID_ARGUMENT_::inc
    - FAILED_PRECONDITION_::inc
    - OK_::inc
    - UNAVAILABLE_::inc
    - NOT_FOUND_::inc
    - DEADLINE_EXCEEDED_::inc
    - OUT_OF_RANGE_::inc
    - UNIMPLEMENTED_::inc
    - UNAUTHENTICATED_::inc
    - DATA_LOSS_::inc
    - INTERNAL_::inc
    - CANCELLED_::inc
    - PERMISSION_DENIED_::inc
    - ABORTED_::inc
    - ALREADY_EXISTS_::inc
    - RESOURCE_EXHAUSTED_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterStats::collectCallStatus(CallStatusStats&
      stats,\n                                                  const StatusCode&
      code)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: OK_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:31,1
    - Dst: CANCELLED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:34,1
    - Dst: UNKNOWN_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:37,1
    - Dst: INVALID_ARGUMENT_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:40,1
    - Dst: DEADLINE_EXCEEDED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:43,1
    - Dst: NOT_FOUND_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:46,1
    - Dst: ALREADY_EXISTS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:49,1
    - Dst: PERMISSION_DENIED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:52,1
    - Dst: RESOURCE_EXHAUSTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:55,1
    - Dst: FAILED_PRECONDITION_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:58,1
    - Dst: ABORTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:61,1
    - Dst: OUT_OF_RANGE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:64,1
    - Dst: UNIMPLEMENTED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:67,1
    - Dst: INTERNAL_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:70,1
    - Dst: UNAVAILABLE_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:73,1
    - Dst: DATA_LOSS_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:76,1
    - Dst: UNAUTHENTICATED_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 56
    argCount: 2
    argNames:
    - ' stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 84
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc
    functionUses: 0
    functionsReached:
    - UNKNOWN_::inc
    - INVALID_ARGUMENT_::inc
    - FAILED_PRECONDITION_::inc
    - OK_::inc
    - UNAVAILABLE_::inc
    - NOT_FOUND_::inc
    - DEADLINE_EXCEEDED_::inc
    - OUT_OF_RANGE_::inc
    - UNIMPLEMENTED_::inc
    - UNAUTHENTICATED_::inc
    - DATA_LOSS_::inc
    - INTERNAL_::inc
    - CANCELLED_::inc
    - PERMISSION_DENIED_::inc
    - ABORTED_::inc
    - ALREADY_EXISTS_::inc
    - RESOURCE_EXHAUSTED_::inc
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterStats::collectCallStatus(CallStatusStats&
      stats,\n                                                  const StatusCode&
      code)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: services
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:35,1
    - Dst: ServiceContext::ServiceContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:36,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: ServiceContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:43,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: services_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:48,1
    - Dst: requirements
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:52,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:54,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:55,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: RequirementContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:63,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: requirements_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:65,1
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: ServiceContext*::config
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:71,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:72,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:73,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:76,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:77,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - FilterConfig
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 79
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - service_name
    - set_service_name
    - set_operation_name
    - requirements
    - ServiceContext*::config
    - RequirementContext::RequirementContext
    - ServiceContext::ServiceContext
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    - size
    - RequirementContextPtr
    - services_size
    - requirements_size
    - reset
    - add_locations
    - operation_name
    - find
    - end
    - services
    - ServiceContextPtr
    - emplace
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParser::FilterConfigParser(const FilterConfig& config,\n
      \                                      ServiceControlCallFactory& factory)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: services
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:35,1
    - Dst: ServiceContext::ServiceContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:36,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: ServiceContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:43,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: services_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:48,1
    - Dst: requirements
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:52,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:54,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:55,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: RequirementContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:63,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: requirements_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:65,1
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: ServiceContext*::config
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:71,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:72,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:73,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:76,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:77,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - FilterConfig
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 79
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - service_name
    - set_service_name
    - set_operation_name
    - requirements
    - ServiceContext*::config
    - RequirementContext::RequirementContext
    - ServiceContext::ServiceContext
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    - size
    - RequirementContextPtr
    - services_size
    - requirements_size
    - reset
    - add_locations
    - operation_name
    - find
    - end
    - services
    - ServiceContextPtr
    - emplace
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParser::FilterConfigParser(const FilterConfig& config,\n
      \                                      ServiceControlCallFactory& factory)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: services
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:35,1
    - Dst: ServiceContext::ServiceContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:36,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: ServiceContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:43,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: services_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:48,1
    - Dst: requirements
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:52,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:54,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:55,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: RequirementContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:63,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: requirements_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:65,1
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: ServiceContext*::config
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:71,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:72,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:73,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:76,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:77,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - FilterConfig
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 79
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - service_name
    - set_service_name
    - set_operation_name
    - requirements
    - ServiceContext*::config
    - RequirementContext::RequirementContext
    - ServiceContext::ServiceContext
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    - size
    - RequirementContextPtr
    - services_size
    - requirements_size
    - reset
    - add_locations
    - operation_name
    - find
    - end
    - services
    - ServiceContextPtr
    - emplace
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParser::FilterConfigParser(const FilterConfig& config,\n
      \                                      ServiceControlCallFactory& factory)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: services
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:35,1
    - Dst: ServiceContext::ServiceContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:36,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: ServiceContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:43,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: services_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:48,1
    - Dst: requirements
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:52,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:54,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:55,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: RequirementContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:63,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: requirements_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:65,1
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: ServiceContext*::config
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:71,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:72,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:73,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:76,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:77,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - FilterConfig
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 79
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - service_name
    - set_service_name
    - set_operation_name
    - requirements
    - ServiceContext*::config
    - RequirementContext::RequirementContext
    - ServiceContext::ServiceContext
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    - size
    - RequirementContextPtr
    - services_size
    - requirements_size
    - reset
    - add_locations
    - operation_name
    - find
    - end
    - services
    - ServiceContextPtr
    - emplace
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParser::FilterConfigParser(const FilterConfig& config,\n
      \                                      ServiceControlCallFactory& factory)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: services
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:35,1
    - Dst: ServiceContext::ServiceContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:36,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: ServiceContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:43,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: services_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:48,1
    - Dst: requirements
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:52,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:54,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:55,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: RequirementContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:63,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: requirements_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:65,1
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: ServiceContext*::config
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:71,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:72,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:73,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:76,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:77,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - FilterConfig
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 79
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - service_name
    - set_service_name
    - set_operation_name
    - requirements
    - ServiceContext*::config
    - RequirementContext::RequirementContext
    - ServiceContext::ServiceContext
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    - size
    - RequirementContextPtr
    - services_size
    - requirements_size
    - reset
    - add_locations
    - operation_name
    - find
    - end
    - services
    - ServiceContextPtr
    - emplace
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParser::FilterConfigParser(const FilterConfig& config,\n
      \                                      ServiceControlCallFactory& factory)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: services
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:35,1
    - Dst: ServiceContext::ServiceContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:36,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: ServiceContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:43,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: services_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:48,1
    - Dst: requirements
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:52,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:54,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:55,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: RequirementContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:63,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: requirements_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:65,1
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: ServiceContext*::config
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:71,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:72,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:73,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:76,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:77,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - FilterConfig
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 79
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - service_name
    - set_service_name
    - set_operation_name
    - requirements
    - ServiceContext*::config
    - RequirementContext::RequirementContext
    - ServiceContext::ServiceContext
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    - size
    - RequirementContextPtr
    - services_size
    - requirements_size
    - reset
    - add_locations
    - operation_name
    - find
    - end
    - services
    - ServiceContextPtr
    - emplace
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParser::FilterConfigParser(const FilterConfig& config,\n
      \                                      ServiceControlCallFactory& factory)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: services
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:35,1
    - Dst: ServiceContext::ServiceContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:36,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: ServiceContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:43,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: services_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:48,1
    - Dst: requirements
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:52,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:54,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:55,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: RequirementContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:63,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: requirements_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:65,1
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: ServiceContext*::config
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:71,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:72,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:73,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:76,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:77,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - FilterConfig
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 79
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - service_name
    - set_service_name
    - set_operation_name
    - requirements
    - ServiceContext*::config
    - RequirementContext::RequirementContext
    - ServiceContext::ServiceContext
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    - size
    - RequirementContextPtr
    - services_size
    - requirements_size
    - reset
    - add_locations
    - operation_name
    - find
    - end
    - services
    - ServiceContextPtr
    - emplace
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParser::FilterConfigParser(const FilterConfig& config,\n
      \                                      ServiceControlCallFactory& factory)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: services
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:35,1
    - Dst: ServiceContext::ServiceContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:36,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: ServiceContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:43,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: services_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:48,1
    - Dst: requirements
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:52,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:54,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:55,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: RequirementContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:63,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: requirements_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:65,1
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: ServiceContext*::config
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:71,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:72,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:73,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:76,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:77,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - FilterConfig
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 79
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - service_name
    - set_service_name
    - set_operation_name
    - requirements
    - ServiceContext*::config
    - RequirementContext::RequirementContext
    - ServiceContext::ServiceContext
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    - size
    - RequirementContextPtr
    - services_size
    - requirements_size
    - reset
    - add_locations
    - operation_name
    - find
    - end
    - services
    - ServiceContextPtr
    - emplace
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParser::FilterConfigParser(const FilterConfig& config,\n
      \                                      ServiceControlCallFactory& factory)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: services
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:35,1
    - Dst: ServiceContext::ServiceContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:36,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: ServiceContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:43,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: services_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:48,1
    - Dst: requirements
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:52,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:54,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:55,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: RequirementContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:63,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: requirements_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:65,1
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: ServiceContext*::config
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:71,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:72,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:73,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:76,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:77,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - FilterConfig
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 79
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - service_name
    - set_service_name
    - set_operation_name
    - requirements
    - ServiceContext*::config
    - RequirementContext::RequirementContext
    - ServiceContext::ServiceContext
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    - size
    - RequirementContextPtr
    - services_size
    - requirements_size
    - reset
    - add_locations
    - operation_name
    - find
    - end
    - services
    - ServiceContextPtr
    - emplace
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParser::FilterConfigParser(const FilterConfig& config,\n
      \                                      ServiceControlCallFactory& factory)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: services
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:35,1
    - Dst: ServiceContext::ServiceContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:36,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: ServiceContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:43,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: services_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:48,1
    - Dst: requirements
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:52,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:54,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:55,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: RequirementContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:63,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: requirements_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:65,1
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: ServiceContext*::config
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:71,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:72,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:73,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:76,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:77,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - FilterConfig
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 79
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - service_name
    - set_service_name
    - set_operation_name
    - requirements
    - ServiceContext*::config
    - RequirementContext::RequirementContext
    - ServiceContext::ServiceContext
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    - size
    - RequirementContextPtr
    - services_size
    - requirements_size
    - reset
    - add_locations
    - operation_name
    - find
    - end
    - services
    - ServiceContextPtr
    - emplace
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParser::FilterConfigParser(const FilterConfig& config,\n
      \                                      ServiceControlCallFactory& factory)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: services
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:35,1
    - Dst: ServiceContext::ServiceContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:36,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: ServiceContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:43,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: services_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:48,1
    - Dst: requirements
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:52,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:54,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:55,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: RequirementContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:63,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: requirements_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:65,1
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: ServiceContext*::config
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:71,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:72,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:73,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:76,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:77,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - FilterConfig
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 79
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - service_name
    - set_service_name
    - set_operation_name
    - requirements
    - ServiceContext*::config
    - RequirementContext::RequirementContext
    - ServiceContext::ServiceContext
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    - size
    - RequirementContextPtr
    - services_size
    - requirements_size
    - reset
    - add_locations
    - operation_name
    - find
    - end
    - services
    - ServiceContextPtr
    - emplace
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParser::FilterConfigParser(const FilterConfig& config,\n
      \                                      ServiceControlCallFactory& factory)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: services
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:35,1
    - Dst: ServiceContext::ServiceContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:36,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: ServiceContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:43,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: services_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:48,1
    - Dst: requirements
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:52,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:54,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:55,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: RequirementContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:63,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: requirements_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:65,1
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: ServiceContext*::config
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:71,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:72,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:73,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:76,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:77,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - FilterConfig
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 79
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - service_name
    - set_service_name
    - set_operation_name
    - requirements
    - ServiceContext*::config
    - RequirementContext::RequirementContext
    - ServiceContext::ServiceContext
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    - size
    - RequirementContextPtr
    - services_size
    - requirements_size
    - reset
    - add_locations
    - operation_name
    - find
    - end
    - services
    - ServiceContextPtr
    - emplace
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParser::FilterConfigParser(const FilterConfig& config,\n
      \                                      ServiceControlCallFactory& factory)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: services
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:35,1
    - Dst: ServiceContext::ServiceContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:36,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: ServiceContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:43,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: services_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:48,1
    - Dst: requirements
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:52,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:54,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:55,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: RequirementContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:63,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: requirements_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:65,1
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: ServiceContext*::config
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:71,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:72,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:73,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:76,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:77,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - FilterConfig
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 79
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - service_name
    - set_service_name
    - set_operation_name
    - requirements
    - ServiceContext*::config
    - RequirementContext::RequirementContext
    - ServiceContext::ServiceContext
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    - size
    - RequirementContextPtr
    - services_size
    - requirements_size
    - reset
    - add_locations
    - operation_name
    - find
    - end
    - services
    - ServiceContextPtr
    - emplace
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParser::FilterConfigParser(const FilterConfig& config,\n
      \                                      ServiceControlCallFactory& factory)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: services
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:35,1
    - Dst: ServiceContext::ServiceContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:36,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: ServiceContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:43,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: services_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:48,1
    - Dst: requirements
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:52,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:54,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:55,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: RequirementContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:63,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: requirements_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:65,1
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: ServiceContext*::config
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:71,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:72,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:73,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:76,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:77,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - FilterConfig
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 79
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - service_name
    - set_service_name
    - set_operation_name
    - requirements
    - ServiceContext*::config
    - RequirementContext::RequirementContext
    - ServiceContext::ServiceContext
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    - size
    - RequirementContextPtr
    - services_size
    - requirements_size
    - reset
    - add_locations
    - operation_name
    - find
    - end
    - services
    - ServiceContextPtr
    - emplace
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParser::FilterConfigParser(const FilterConfig& config,\n
      \                                      ServiceControlCallFactory& factory)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: services
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:35,1
    - Dst: ServiceContext::ServiceContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:36,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: ServiceContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:43,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: services_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:48,1
    - Dst: requirements
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:52,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:54,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:55,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: RequirementContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:63,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: requirements_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:65,1
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: ServiceContext*::config
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:71,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:72,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:73,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:76,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:77,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - FilterConfig
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 79
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - service_name
    - set_service_name
    - set_operation_name
    - requirements
    - ServiceContext*::config
    - RequirementContext::RequirementContext
    - ServiceContext::ServiceContext
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    - size
    - RequirementContextPtr
    - services_size
    - requirements_size
    - reset
    - add_locations
    - operation_name
    - find
    - end
    - services
    - ServiceContextPtr
    - emplace
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParser::FilterConfigParser(const FilterConfig& config,\n
      \                                      ServiceControlCallFactory& factory)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: services
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:35,1
    - Dst: ServiceContext::ServiceContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:36,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: ServiceContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:40,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:43,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: services_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:47,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:48,1
    - Dst: requirements
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:52,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:53,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:54,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:55,1
    - Dst: emplace
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:58,1
    - Dst: RequirementContextPtr
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:59,1
    - Dst: size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:63,1
    - Dst: static_cast<size_t>
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: requirements_size
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:64,1
    - Dst: Envoy::ProtoExceptionUtil::throwProtoValidationException
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:65,1
    - Dst: set_service_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: ServiceContext*::config
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:70,1
    - Dst: set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:71,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:72,1
    - Dst: RequirementContext::RequirementContext
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:73,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:76,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:77,1
    - Dst: add_locations
      Src: /src/esp-v2/src/envoy/http/service_control/config_parser.cc:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - ' config'
    - ' factory'
    argTypes:
    - FilterConfig
    - ServiceControlCallFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 79
    functionName: espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/config_parser.cc
    functionUses: 0
    functionsReached:
    - static_cast<size_t>
    - service_name
    - set_service_name
    - set_operation_name
    - requirements
    - ServiceContext*::config
    - RequirementContext::RequirementContext
    - ServiceContext::ServiceContext
    - Envoy::ProtoExceptionUtil::throwProtoValidationException
    - size
    - RequirementContextPtr
    - services_size
    - requirements_size
    - reset
    - add_locations
    - operation_name
    - find
    - end
    - services
    - ServiceContextPtr
    - emplace
    linkageType: ''
    returnType: void
    signature: "void FilterConfigParser::FilterConfigParser(const FilterConfig& config,\n
      \                                      ServiceControlCallFactory& factory)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:70,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:74,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:75,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:77,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:81,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:86,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:87,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:88,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:93,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:96,1
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:97,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:100,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: default_api_keys
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:108,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:109,1
    - Dst: auto::ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:110,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:111,1
    - Dst: auto::status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:112,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:115,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' uuid'
    - ' cfg_parser'
    - ' time_source'
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - std::string
    - FilterConfigParser
    - Envoy::TimeSource
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 119
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
    - auto::value
    - Method
    - espv2::envoy::utils::readHeaderEntry
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    - auto::status
    - auto::empty
    - non_match_rqm_ctx
    - find_requirement
    - Path
    - service_ctx
    - extractAPIKey
    - byteSize
    - Envoy::Grpc::Common::hasGrpcContentType
    - auto::ok
    - ENVOY_LOG
    - extractIPFromForwardedHeader
    - config
    - default_api_keys
    - std::string
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::ServiceControlHandlerImpl(\n    const
      Envoy::Http::RequestHeaderMap& headers,\n    Envoy::Http::StreamDecoderFilterCallbacks*
      decoder_callbacks,\n    const std::string& uuid, const FilterConfigParser& cfg_parser,\n
      \   Envoy::TimeSource& time_source, ServiceControlFilterStats& filter_stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:125,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:128,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 1
    functionsReached:
    - ENVOY_LOG
    - auto*::operation_name
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ServiceControlHandlerImpl::getOperationFromPerRoute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:136,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:139,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filter_state'
    argTypes:
    - FilterState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::setStringFilterState
    - config
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::fillFilterState(FilterState& filter_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - cancel_fn_
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::onDestroy()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:153,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:155,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:156,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:158,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:161,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - empty
    - config
    - downstreamAddressProvider
    - systemTime
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::fillOperationInfo(\n    ::espv2::api_proxy::service_control::OperationInfo&
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:175,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:179,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:180,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:181,1
    - Dst: fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:190,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 194
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - fillGCPInfo
    - service_ctx
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::prepareReportRequest(\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:201,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:208,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:212,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:213,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:215,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:219,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:221,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:229,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:231,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - ' headers'
    - ' parent_span'
    - ' callback'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Tracing::Span
    - CheckDoneCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    - getInline
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    - filter_::denied_consumer_error_::inc
    - handle
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - espv2::envoy::utils::readHeaderEntry
    - Status
    - espv2::envoy::utils::extractHeader
    - onCheckDone
    - OkStatus
    - std::string
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callCheck(\n    Envoy::Http::RequestHeaderMap&
      headers, Envoy::Tracing::Span& parent_span,\n    CheckDoneCallback& callback)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:256,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:257,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:262,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:263,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:264,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:270,1
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:273,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:274,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 284
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 1
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    - metric_costs
    - error::name::empty
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::callQuota()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:291,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:293,1
    - Dst: consumer_type::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:303,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:304,1
    - Dst: consumer_number::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:307,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:308,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:312,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:313,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' headers'
    - ' status'
    - ' response_info'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Status
    - CheckResponseInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 318
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 1
    functionsReached:
    - ok
    - consumer_number::empty
    - setReferenceKey
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - error::name::empty
    - consumer_type::empty
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::onCheckResponse(\n    Envoy::Http::RequestHeaderMap&
      headers, const Status& status,\n    const CheckResponseInfo& response_info)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:325,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:330,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:331,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:332,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:334,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:335,1
    - Dst: fillJwtPayloads
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:337,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:338,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:339,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:340,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:343,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:344,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:345,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:348,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:349,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:350,1
    - Dst: getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:353,1
    - Dst: getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: Envoy::Http::RequestHeaderMap*::getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:362,1
    - Dst: fillStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:363,1
    - Dst: bytesReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:365,1
    - Dst: Envoy::Http::ResponseHeaderMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:369,1
    - Dst: Envoy::Http::ResponseTrailerMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:372,1
    - Dst: bytesSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:374,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:376,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:378,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:379,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - request_headers
    - response_headers
    - response_trailers
    - ' parent_span'
    argTypes:
    - Envoy::Http::RequestHeaderMap*
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::Tracing::Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 383
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    - espv2::envoy::utils::readHeaderEntry
    - getFrontendProtocol
    - Envoy::Http::RequestHeaderMap*::getInline
    - bytesReceived
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    - fillJwtPayload
    - handle
    - service_ctx
    - fillJwtPayloads
    - getTraceIdAsHex
    - Envoy::Http::ResponseTrailerMap*::byteSize
    - bytesSent
    - getBackendProtocol
    - responseCodeDetails
    - dynamicMetadata
    - fillLatency
    - fillLoggedHeader
    - fillStatus
    - std::string
    - Envoy::Http::ResponseHeaderMap*::byteSize
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callReport(\n    const Envoy::Http::RequestHeaderMap*
      request_headers,\n    const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \   const Envoy::Http::ResponseTrailerMap* response_trailers,\n    const Envoy::Tracing::Span&
      parent_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:70,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:74,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:75,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:77,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:81,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:86,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:87,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:88,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:93,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:96,1
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:97,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:100,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: default_api_keys
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:108,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:109,1
    - Dst: auto::ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:110,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:111,1
    - Dst: auto::status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:112,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:115,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' uuid'
    - ' cfg_parser'
    - ' time_source'
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - std::string
    - FilterConfigParser
    - Envoy::TimeSource
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 119
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
    - auto::value
    - Method
    - espv2::envoy::utils::readHeaderEntry
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    - auto::status
    - auto::empty
    - non_match_rqm_ctx
    - find_requirement
    - Path
    - service_ctx
    - extractAPIKey
    - byteSize
    - Envoy::Grpc::Common::hasGrpcContentType
    - auto::ok
    - ENVOY_LOG
    - extractIPFromForwardedHeader
    - config
    - default_api_keys
    - std::string
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::ServiceControlHandlerImpl(\n    const
      Envoy::Http::RequestHeaderMap& headers,\n    Envoy::Http::StreamDecoderFilterCallbacks*
      decoder_callbacks,\n    const std::string& uuid, const FilterConfigParser& cfg_parser,\n
      \   Envoy::TimeSource& time_source, ServiceControlFilterStats& filter_stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:125,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:128,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 2
    functionsReached:
    - ENVOY_LOG
    - auto*::operation_name
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ServiceControlHandlerImpl::getOperationFromPerRoute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:136,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:139,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filter_state'
    argTypes:
    - FilterState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::setStringFilterState
    - config
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::fillFilterState(FilterState& filter_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - cancel_fn_
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::onDestroy()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:153,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:155,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:156,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:158,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:161,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 3
    functionsReached:
    - empty
    - config
    - downstreamAddressProvider
    - systemTime
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::fillOperationInfo(\n    ::espv2::api_proxy::service_control::OperationInfo&
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:175,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:179,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:180,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:181,1
    - Dst: fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:190,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 194
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 1
    functionsReached:
    - fillGCPInfo
    - service_ctx
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::prepareReportRequest(\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:201,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:208,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:212,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:213,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:215,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:219,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:221,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:229,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:231,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - ' headers'
    - ' parent_span'
    - ' callback'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Tracing::Span
    - CheckDoneCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    - getInline
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    - filter_::denied_consumer_error_::inc
    - handle
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - espv2::envoy::utils::readHeaderEntry
    - Status
    - espv2::envoy::utils::extractHeader
    - onCheckDone
    - OkStatus
    - std::string
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callCheck(\n    Envoy::Http::RequestHeaderMap&
      headers, Envoy::Tracing::Span& parent_span,\n    CheckDoneCallback& callback)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:256,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:257,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:262,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:263,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:264,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:270,1
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:273,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:274,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 284
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 3
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    - metric_costs
    - error::name::empty
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::callQuota()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:291,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:293,1
    - Dst: consumer_type::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:303,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:304,1
    - Dst: consumer_number::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:307,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:308,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:312,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:313,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' headers'
    - ' status'
    - ' response_info'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Status
    - CheckResponseInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 318
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 2
    functionsReached:
    - ok
    - consumer_number::empty
    - setReferenceKey
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - error::name::empty
    - consumer_type::empty
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::onCheckResponse(\n    Envoy::Http::RequestHeaderMap&
      headers, const Status& status,\n    const CheckResponseInfo& response_info)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:325,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:330,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:331,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:332,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:334,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:335,1
    - Dst: fillJwtPayloads
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:337,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:338,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:339,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:340,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:343,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:344,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:345,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:348,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:349,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:350,1
    - Dst: getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:353,1
    - Dst: getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: Envoy::Http::RequestHeaderMap*::getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:362,1
    - Dst: fillStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:363,1
    - Dst: bytesReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:365,1
    - Dst: Envoy::Http::ResponseHeaderMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:369,1
    - Dst: Envoy::Http::ResponseTrailerMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:372,1
    - Dst: bytesSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:374,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:376,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:378,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:379,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - request_headers
    - response_headers
    - response_trailers
    - ' parent_span'
    argTypes:
    - Envoy::Http::RequestHeaderMap*
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::Tracing::Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 383
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    - espv2::envoy::utils::readHeaderEntry
    - getFrontendProtocol
    - Envoy::Http::RequestHeaderMap*::getInline
    - bytesReceived
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    - fillJwtPayload
    - handle
    - service_ctx
    - fillJwtPayloads
    - getTraceIdAsHex
    - Envoy::Http::ResponseTrailerMap*::byteSize
    - bytesSent
    - getBackendProtocol
    - responseCodeDetails
    - dynamicMetadata
    - fillLatency
    - fillLoggedHeader
    - fillStatus
    - std::string
    - Envoy::Http::ResponseHeaderMap*::byteSize
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callReport(\n    const Envoy::Http::RequestHeaderMap*
      request_headers,\n    const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \   const Envoy::Http::ResponseTrailerMap* response_trailers,\n    const Envoy::Tracing::Span&
      parent_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:70,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:74,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:75,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:77,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:81,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:86,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:87,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:88,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:93,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:96,1
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:97,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:100,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: default_api_keys
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:108,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:109,1
    - Dst: auto::ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:110,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:111,1
    - Dst: auto::status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:112,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:115,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' uuid'
    - ' cfg_parser'
    - ' time_source'
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - std::string
    - FilterConfigParser
    - Envoy::TimeSource
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 119
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
    - auto::value
    - Method
    - espv2::envoy::utils::readHeaderEntry
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    - auto::status
    - auto::empty
    - non_match_rqm_ctx
    - find_requirement
    - Path
    - service_ctx
    - extractAPIKey
    - byteSize
    - Envoy::Grpc::Common::hasGrpcContentType
    - auto::ok
    - ENVOY_LOG
    - extractIPFromForwardedHeader
    - config
    - default_api_keys
    - std::string
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::ServiceControlHandlerImpl(\n    const
      Envoy::Http::RequestHeaderMap& headers,\n    Envoy::Http::StreamDecoderFilterCallbacks*
      decoder_callbacks,\n    const std::string& uuid, const FilterConfigParser& cfg_parser,\n
      \   Envoy::TimeSource& time_source, ServiceControlFilterStats& filter_stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:125,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:128,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 3
    functionsReached:
    - ENVOY_LOG
    - auto*::operation_name
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ServiceControlHandlerImpl::getOperationFromPerRoute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:136,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:139,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filter_state'
    argTypes:
    - FilterState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::setStringFilterState
    - config
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::fillFilterState(FilterState& filter_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - cancel_fn_
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::onDestroy()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:153,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:155,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:156,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:158,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:161,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 6
    functionsReached:
    - empty
    - config
    - downstreamAddressProvider
    - systemTime
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::fillOperationInfo(\n    ::espv2::api_proxy::service_control::OperationInfo&
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:175,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:179,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:180,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:181,1
    - Dst: fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:190,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 194
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 2
    functionsReached:
    - fillGCPInfo
    - service_ctx
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::prepareReportRequest(\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:201,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:208,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:212,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:213,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:215,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:219,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:221,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:229,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:231,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - ' headers'
    - ' parent_span'
    - ' callback'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Tracing::Span
    - CheckDoneCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    - getInline
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    - filter_::denied_consumer_error_::inc
    - handle
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - espv2::envoy::utils::readHeaderEntry
    - Status
    - espv2::envoy::utils::extractHeader
    - onCheckDone
    - OkStatus
    - std::string
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callCheck(\n    Envoy::Http::RequestHeaderMap&
      headers, Envoy::Tracing::Span& parent_span,\n    CheckDoneCallback& callback)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:256,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:257,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:262,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:263,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:264,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:270,1
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:273,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:274,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 284
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 5
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    - metric_costs
    - error::name::empty
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::callQuota()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:291,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:293,1
    - Dst: consumer_type::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:303,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:304,1
    - Dst: consumer_number::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:307,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:308,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:312,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:313,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' headers'
    - ' status'
    - ' response_info'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Status
    - CheckResponseInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 318
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 3
    functionsReached:
    - ok
    - consumer_number::empty
    - setReferenceKey
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - error::name::empty
    - consumer_type::empty
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::onCheckResponse(\n    Envoy::Http::RequestHeaderMap&
      headers, const Status& status,\n    const CheckResponseInfo& response_info)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:325,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:330,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:331,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:332,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:334,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:335,1
    - Dst: fillJwtPayloads
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:337,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:338,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:339,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:340,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:343,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:344,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:345,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:348,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:349,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:350,1
    - Dst: getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:353,1
    - Dst: getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: Envoy::Http::RequestHeaderMap*::getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:362,1
    - Dst: fillStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:363,1
    - Dst: bytesReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:365,1
    - Dst: Envoy::Http::ResponseHeaderMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:369,1
    - Dst: Envoy::Http::ResponseTrailerMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:372,1
    - Dst: bytesSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:374,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:376,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:378,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:379,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - request_headers
    - response_headers
    - response_trailers
    - ' parent_span'
    argTypes:
    - Envoy::Http::RequestHeaderMap*
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::Tracing::Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 383
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    - espv2::envoy::utils::readHeaderEntry
    - getFrontendProtocol
    - Envoy::Http::RequestHeaderMap*::getInline
    - bytesReceived
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    - fillJwtPayload
    - handle
    - service_ctx
    - fillJwtPayloads
    - getTraceIdAsHex
    - Envoy::Http::ResponseTrailerMap*::byteSize
    - bytesSent
    - getBackendProtocol
    - responseCodeDetails
    - dynamicMetadata
    - fillLatency
    - fillLoggedHeader
    - fillStatus
    - std::string
    - Envoy::Http::ResponseHeaderMap*::byteSize
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callReport(\n    const Envoy::Http::RequestHeaderMap*
      request_headers,\n    const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \   const Envoy::Http::ResponseTrailerMap* response_trailers,\n    const Envoy::Tracing::Span&
      parent_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:70,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:74,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:75,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:77,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:81,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:86,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:87,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:88,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:93,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:96,1
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:97,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:100,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: default_api_keys
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:108,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:109,1
    - Dst: auto::ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:110,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:111,1
    - Dst: auto::status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:112,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:115,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' uuid'
    - ' cfg_parser'
    - ' time_source'
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - std::string
    - FilterConfigParser
    - Envoy::TimeSource
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 119
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
    - auto::value
    - Method
    - espv2::envoy::utils::readHeaderEntry
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    - auto::status
    - auto::empty
    - non_match_rqm_ctx
    - find_requirement
    - Path
    - service_ctx
    - extractAPIKey
    - byteSize
    - Envoy::Grpc::Common::hasGrpcContentType
    - auto::ok
    - ENVOY_LOG
    - extractIPFromForwardedHeader
    - config
    - default_api_keys
    - std::string
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::ServiceControlHandlerImpl(\n    const
      Envoy::Http::RequestHeaderMap& headers,\n    Envoy::Http::StreamDecoderFilterCallbacks*
      decoder_callbacks,\n    const std::string& uuid, const FilterConfigParser& cfg_parser,\n
      \   Envoy::TimeSource& time_source, ServiceControlFilterStats& filter_stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:125,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:128,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 4
    functionsReached:
    - ENVOY_LOG
    - auto*::operation_name
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ServiceControlHandlerImpl::getOperationFromPerRoute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:136,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:139,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filter_state'
    argTypes:
    - FilterState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::setStringFilterState
    - config
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::fillFilterState(FilterState& filter_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - cancel_fn_
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::onDestroy()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:153,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:155,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:156,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:158,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:161,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 9
    functionsReached:
    - empty
    - config
    - downstreamAddressProvider
    - systemTime
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::fillOperationInfo(\n    ::espv2::api_proxy::service_control::OperationInfo&
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:175,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:179,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:180,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:181,1
    - Dst: fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:190,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 194
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 3
    functionsReached:
    - fillGCPInfo
    - service_ctx
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::prepareReportRequest(\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:201,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:208,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:212,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:213,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:215,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:219,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:221,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:229,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:231,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - ' headers'
    - ' parent_span'
    - ' callback'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Tracing::Span
    - CheckDoneCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    - getInline
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    - filter_::denied_consumer_error_::inc
    - handle
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - espv2::envoy::utils::readHeaderEntry
    - Status
    - espv2::envoy::utils::extractHeader
    - onCheckDone
    - OkStatus
    - std::string
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callCheck(\n    Envoy::Http::RequestHeaderMap&
      headers, Envoy::Tracing::Span& parent_span,\n    CheckDoneCallback& callback)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:256,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:257,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:262,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:263,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:264,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:270,1
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:273,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:274,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 284
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 7
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    - metric_costs
    - error::name::empty
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::callQuota()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:291,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:293,1
    - Dst: consumer_type::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:303,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:304,1
    - Dst: consumer_number::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:307,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:308,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:312,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:313,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' headers'
    - ' status'
    - ' response_info'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Status
    - CheckResponseInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 318
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 4
    functionsReached:
    - ok
    - consumer_number::empty
    - setReferenceKey
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - error::name::empty
    - consumer_type::empty
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::onCheckResponse(\n    Envoy::Http::RequestHeaderMap&
      headers, const Status& status,\n    const CheckResponseInfo& response_info)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:325,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:330,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:331,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:332,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:334,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:335,1
    - Dst: fillJwtPayloads
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:337,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:338,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:339,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:340,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:343,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:344,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:345,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:348,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:349,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:350,1
    - Dst: getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:353,1
    - Dst: getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: Envoy::Http::RequestHeaderMap*::getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:362,1
    - Dst: fillStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:363,1
    - Dst: bytesReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:365,1
    - Dst: Envoy::Http::ResponseHeaderMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:369,1
    - Dst: Envoy::Http::ResponseTrailerMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:372,1
    - Dst: bytesSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:374,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:376,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:378,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:379,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - request_headers
    - response_headers
    - response_trailers
    - ' parent_span'
    argTypes:
    - Envoy::Http::RequestHeaderMap*
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::Tracing::Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 383
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    - espv2::envoy::utils::readHeaderEntry
    - getFrontendProtocol
    - Envoy::Http::RequestHeaderMap*::getInline
    - bytesReceived
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    - fillJwtPayload
    - handle
    - service_ctx
    - fillJwtPayloads
    - getTraceIdAsHex
    - Envoy::Http::ResponseTrailerMap*::byteSize
    - bytesSent
    - getBackendProtocol
    - responseCodeDetails
    - dynamicMetadata
    - fillLatency
    - fillLoggedHeader
    - fillStatus
    - std::string
    - Envoy::Http::ResponseHeaderMap*::byteSize
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callReport(\n    const Envoy::Http::RequestHeaderMap*
      request_headers,\n    const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \   const Envoy::Http::ResponseTrailerMap* response_trailers,\n    const Envoy::Tracing::Span&
      parent_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:70,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:74,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:75,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:77,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:81,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:86,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:87,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:88,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:93,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:96,1
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:97,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:100,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: default_api_keys
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:108,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:109,1
    - Dst: auto::ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:110,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:111,1
    - Dst: auto::status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:112,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:115,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' uuid'
    - ' cfg_parser'
    - ' time_source'
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - std::string
    - FilterConfigParser
    - Envoy::TimeSource
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 119
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
    - auto::value
    - Method
    - espv2::envoy::utils::readHeaderEntry
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    - auto::status
    - auto::empty
    - non_match_rqm_ctx
    - find_requirement
    - Path
    - service_ctx
    - extractAPIKey
    - byteSize
    - Envoy::Grpc::Common::hasGrpcContentType
    - auto::ok
    - ENVOY_LOG
    - extractIPFromForwardedHeader
    - config
    - default_api_keys
    - std::string
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::ServiceControlHandlerImpl(\n    const
      Envoy::Http::RequestHeaderMap& headers,\n    Envoy::Http::StreamDecoderFilterCallbacks*
      decoder_callbacks,\n    const std::string& uuid, const FilterConfigParser& cfg_parser,\n
      \   Envoy::TimeSource& time_source, ServiceControlFilterStats& filter_stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:125,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:128,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 5
    functionsReached:
    - ENVOY_LOG
    - auto*::operation_name
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ServiceControlHandlerImpl::getOperationFromPerRoute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:136,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:139,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filter_state'
    argTypes:
    - FilterState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::setStringFilterState
    - config
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::fillFilterState(FilterState& filter_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - cancel_fn_
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::onDestroy()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:153,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:155,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:156,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:158,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:161,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 12
    functionsReached:
    - empty
    - config
    - downstreamAddressProvider
    - systemTime
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::fillOperationInfo(\n    ::espv2::api_proxy::service_control::OperationInfo&
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:175,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:179,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:180,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:181,1
    - Dst: fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:190,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 194
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 4
    functionsReached:
    - fillGCPInfo
    - service_ctx
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::prepareReportRequest(\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:201,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:208,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:212,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:213,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:215,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:219,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:221,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:229,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:231,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - ' headers'
    - ' parent_span'
    - ' callback'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Tracing::Span
    - CheckDoneCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    - getInline
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    - filter_::denied_consumer_error_::inc
    - handle
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - espv2::envoy::utils::readHeaderEntry
    - Status
    - espv2::envoy::utils::extractHeader
    - onCheckDone
    - OkStatus
    - std::string
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callCheck(\n    Envoy::Http::RequestHeaderMap&
      headers, Envoy::Tracing::Span& parent_span,\n    CheckDoneCallback& callback)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:256,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:257,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:262,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:263,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:264,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:270,1
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:273,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:274,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 284
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 9
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    - metric_costs
    - error::name::empty
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::callQuota()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:291,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:293,1
    - Dst: consumer_type::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:303,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:304,1
    - Dst: consumer_number::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:307,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:308,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:312,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:313,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' headers'
    - ' status'
    - ' response_info'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Status
    - CheckResponseInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 318
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 5
    functionsReached:
    - ok
    - consumer_number::empty
    - setReferenceKey
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - error::name::empty
    - consumer_type::empty
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::onCheckResponse(\n    Envoy::Http::RequestHeaderMap&
      headers, const Status& status,\n    const CheckResponseInfo& response_info)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:325,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:330,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:331,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:332,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:334,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:335,1
    - Dst: fillJwtPayloads
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:337,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:338,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:339,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:340,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:343,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:344,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:345,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:348,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:349,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:350,1
    - Dst: getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:353,1
    - Dst: getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: Envoy::Http::RequestHeaderMap*::getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:362,1
    - Dst: fillStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:363,1
    - Dst: bytesReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:365,1
    - Dst: Envoy::Http::ResponseHeaderMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:369,1
    - Dst: Envoy::Http::ResponseTrailerMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:372,1
    - Dst: bytesSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:374,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:376,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:378,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:379,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - request_headers
    - response_headers
    - response_trailers
    - ' parent_span'
    argTypes:
    - Envoy::Http::RequestHeaderMap*
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::Tracing::Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 383
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    - espv2::envoy::utils::readHeaderEntry
    - getFrontendProtocol
    - Envoy::Http::RequestHeaderMap*::getInline
    - bytesReceived
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    - fillJwtPayload
    - handle
    - service_ctx
    - fillJwtPayloads
    - getTraceIdAsHex
    - Envoy::Http::ResponseTrailerMap*::byteSize
    - bytesSent
    - getBackendProtocol
    - responseCodeDetails
    - dynamicMetadata
    - fillLatency
    - fillLoggedHeader
    - fillStatus
    - std::string
    - Envoy::Http::ResponseHeaderMap*::byteSize
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callReport(\n    const Envoy::Http::RequestHeaderMap*
      request_headers,\n    const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \   const Envoy::Http::ResponseTrailerMap* response_trailers,\n    const Envoy::Tracing::Span&
      parent_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:70,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:74,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:75,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:77,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:81,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:86,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:87,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:88,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:93,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:96,1
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:97,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:100,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: default_api_keys
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:108,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:109,1
    - Dst: auto::ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:110,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:111,1
    - Dst: auto::status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:112,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:115,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' uuid'
    - ' cfg_parser'
    - ' time_source'
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - std::string
    - FilterConfigParser
    - Envoy::TimeSource
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 119
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
    - auto::value
    - Method
    - espv2::envoy::utils::readHeaderEntry
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    - auto::status
    - auto::empty
    - non_match_rqm_ctx
    - find_requirement
    - Path
    - service_ctx
    - extractAPIKey
    - byteSize
    - Envoy::Grpc::Common::hasGrpcContentType
    - auto::ok
    - ENVOY_LOG
    - extractIPFromForwardedHeader
    - config
    - default_api_keys
    - std::string
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::ServiceControlHandlerImpl(\n    const
      Envoy::Http::RequestHeaderMap& headers,\n    Envoy::Http::StreamDecoderFilterCallbacks*
      decoder_callbacks,\n    const std::string& uuid, const FilterConfigParser& cfg_parser,\n
      \   Envoy::TimeSource& time_source, ServiceControlFilterStats& filter_stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:125,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:128,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 6
    functionsReached:
    - ENVOY_LOG
    - auto*::operation_name
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ServiceControlHandlerImpl::getOperationFromPerRoute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:136,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:139,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filter_state'
    argTypes:
    - FilterState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::setStringFilterState
    - config
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::fillFilterState(FilterState& filter_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - cancel_fn_
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::onDestroy()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:153,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:155,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:156,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:158,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:161,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 15
    functionsReached:
    - empty
    - config
    - downstreamAddressProvider
    - systemTime
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::fillOperationInfo(\n    ::espv2::api_proxy::service_control::OperationInfo&
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:175,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:179,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:180,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:181,1
    - Dst: fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:190,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 194
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 5
    functionsReached:
    - fillGCPInfo
    - service_ctx
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::prepareReportRequest(\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:201,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:208,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:212,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:213,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:215,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:219,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:221,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:229,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:231,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - ' headers'
    - ' parent_span'
    - ' callback'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Tracing::Span
    - CheckDoneCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    - getInline
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    - filter_::denied_consumer_error_::inc
    - handle
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - espv2::envoy::utils::readHeaderEntry
    - Status
    - espv2::envoy::utils::extractHeader
    - onCheckDone
    - OkStatus
    - std::string
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callCheck(\n    Envoy::Http::RequestHeaderMap&
      headers, Envoy::Tracing::Span& parent_span,\n    CheckDoneCallback& callback)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:256,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:257,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:262,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:263,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:264,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:270,1
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:273,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:274,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 284
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 11
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    - metric_costs
    - error::name::empty
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::callQuota()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:291,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:293,1
    - Dst: consumer_type::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:303,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:304,1
    - Dst: consumer_number::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:307,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:308,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:312,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:313,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' headers'
    - ' status'
    - ' response_info'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Status
    - CheckResponseInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 318
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 6
    functionsReached:
    - ok
    - consumer_number::empty
    - setReferenceKey
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - error::name::empty
    - consumer_type::empty
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::onCheckResponse(\n    Envoy::Http::RequestHeaderMap&
      headers, const Status& status,\n    const CheckResponseInfo& response_info)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:325,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:330,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:331,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:332,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:334,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:335,1
    - Dst: fillJwtPayloads
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:337,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:338,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:339,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:340,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:343,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:344,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:345,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:348,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:349,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:350,1
    - Dst: getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:353,1
    - Dst: getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: Envoy::Http::RequestHeaderMap*::getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:362,1
    - Dst: fillStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:363,1
    - Dst: bytesReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:365,1
    - Dst: Envoy::Http::ResponseHeaderMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:369,1
    - Dst: Envoy::Http::ResponseTrailerMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:372,1
    - Dst: bytesSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:374,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:376,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:378,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:379,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - request_headers
    - response_headers
    - response_trailers
    - ' parent_span'
    argTypes:
    - Envoy::Http::RequestHeaderMap*
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::Tracing::Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 383
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    - espv2::envoy::utils::readHeaderEntry
    - getFrontendProtocol
    - Envoy::Http::RequestHeaderMap*::getInline
    - bytesReceived
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    - fillJwtPayload
    - handle
    - service_ctx
    - fillJwtPayloads
    - getTraceIdAsHex
    - Envoy::Http::ResponseTrailerMap*::byteSize
    - bytesSent
    - getBackendProtocol
    - responseCodeDetails
    - dynamicMetadata
    - fillLatency
    - fillLoggedHeader
    - fillStatus
    - std::string
    - Envoy::Http::ResponseHeaderMap*::byteSize
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callReport(\n    const Envoy::Http::RequestHeaderMap*
      request_headers,\n    const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \   const Envoy::Http::ResponseTrailerMap* response_trailers,\n    const Envoy::Tracing::Span&
      parent_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:70,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:74,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:75,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:77,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:81,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:86,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:87,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:88,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:93,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:96,1
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:97,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:100,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: default_api_keys
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:108,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:109,1
    - Dst: auto::ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:110,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:111,1
    - Dst: auto::status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:112,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:115,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' uuid'
    - ' cfg_parser'
    - ' time_source'
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - std::string
    - FilterConfigParser
    - Envoy::TimeSource
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 119
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
    - auto::value
    - Method
    - espv2::envoy::utils::readHeaderEntry
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    - auto::status
    - auto::empty
    - non_match_rqm_ctx
    - find_requirement
    - Path
    - service_ctx
    - extractAPIKey
    - byteSize
    - Envoy::Grpc::Common::hasGrpcContentType
    - auto::ok
    - ENVOY_LOG
    - extractIPFromForwardedHeader
    - config
    - default_api_keys
    - std::string
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::ServiceControlHandlerImpl(\n    const
      Envoy::Http::RequestHeaderMap& headers,\n    Envoy::Http::StreamDecoderFilterCallbacks*
      decoder_callbacks,\n    const std::string& uuid, const FilterConfigParser& cfg_parser,\n
      \   Envoy::TimeSource& time_source, ServiceControlFilterStats& filter_stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:125,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:128,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 7
    functionsReached:
    - ENVOY_LOG
    - auto*::operation_name
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ServiceControlHandlerImpl::getOperationFromPerRoute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:136,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:139,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filter_state'
    argTypes:
    - FilterState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::setStringFilterState
    - config
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::fillFilterState(FilterState& filter_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - cancel_fn_
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::onDestroy()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:153,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:155,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:156,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:158,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:161,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 18
    functionsReached:
    - empty
    - config
    - downstreamAddressProvider
    - systemTime
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::fillOperationInfo(\n    ::espv2::api_proxy::service_control::OperationInfo&
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:175,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:179,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:180,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:181,1
    - Dst: fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:190,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 194
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 6
    functionsReached:
    - fillGCPInfo
    - service_ctx
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::prepareReportRequest(\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:201,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:208,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:212,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:213,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:215,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:219,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:221,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:229,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:231,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - ' headers'
    - ' parent_span'
    - ' callback'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Tracing::Span
    - CheckDoneCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    - getInline
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    - filter_::denied_consumer_error_::inc
    - handle
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - espv2::envoy::utils::readHeaderEntry
    - Status
    - espv2::envoy::utils::extractHeader
    - onCheckDone
    - OkStatus
    - std::string
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callCheck(\n    Envoy::Http::RequestHeaderMap&
      headers, Envoy::Tracing::Span& parent_span,\n    CheckDoneCallback& callback)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:256,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:257,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:262,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:263,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:264,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:270,1
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:273,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:274,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 284
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 13
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    - metric_costs
    - error::name::empty
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::callQuota()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:291,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:293,1
    - Dst: consumer_type::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:303,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:304,1
    - Dst: consumer_number::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:307,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:308,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:312,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:313,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' headers'
    - ' status'
    - ' response_info'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Status
    - CheckResponseInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 318
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 7
    functionsReached:
    - ok
    - consumer_number::empty
    - setReferenceKey
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - error::name::empty
    - consumer_type::empty
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::onCheckResponse(\n    Envoy::Http::RequestHeaderMap&
      headers, const Status& status,\n    const CheckResponseInfo& response_info)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:325,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:330,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:331,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:332,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:334,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:335,1
    - Dst: fillJwtPayloads
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:337,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:338,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:339,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:340,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:343,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:344,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:345,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:348,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:349,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:350,1
    - Dst: getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:353,1
    - Dst: getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: Envoy::Http::RequestHeaderMap*::getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:362,1
    - Dst: fillStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:363,1
    - Dst: bytesReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:365,1
    - Dst: Envoy::Http::ResponseHeaderMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:369,1
    - Dst: Envoy::Http::ResponseTrailerMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:372,1
    - Dst: bytesSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:374,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:376,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:378,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:379,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - request_headers
    - response_headers
    - response_trailers
    - ' parent_span'
    argTypes:
    - Envoy::Http::RequestHeaderMap*
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::Tracing::Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 383
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    - espv2::envoy::utils::readHeaderEntry
    - getFrontendProtocol
    - Envoy::Http::RequestHeaderMap*::getInline
    - bytesReceived
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    - fillJwtPayload
    - handle
    - service_ctx
    - fillJwtPayloads
    - getTraceIdAsHex
    - Envoy::Http::ResponseTrailerMap*::byteSize
    - bytesSent
    - getBackendProtocol
    - responseCodeDetails
    - dynamicMetadata
    - fillLatency
    - fillLoggedHeader
    - fillStatus
    - std::string
    - Envoy::Http::ResponseHeaderMap*::byteSize
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callReport(\n    const Envoy::Http::RequestHeaderMap*
      request_headers,\n    const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \   const Envoy::Http::ResponseTrailerMap* response_trailers,\n    const Envoy::Tracing::Span&
      parent_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:70,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:74,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:75,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:77,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:81,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:86,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:87,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:88,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:93,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:96,1
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:97,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:100,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: default_api_keys
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:108,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:109,1
    - Dst: auto::ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:110,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:111,1
    - Dst: auto::status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:112,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:115,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' uuid'
    - ' cfg_parser'
    - ' time_source'
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - std::string
    - FilterConfigParser
    - Envoy::TimeSource
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 119
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
    - auto::value
    - Method
    - espv2::envoy::utils::readHeaderEntry
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    - auto::status
    - auto::empty
    - non_match_rqm_ctx
    - find_requirement
    - Path
    - service_ctx
    - extractAPIKey
    - byteSize
    - Envoy::Grpc::Common::hasGrpcContentType
    - auto::ok
    - ENVOY_LOG
    - extractIPFromForwardedHeader
    - config
    - default_api_keys
    - std::string
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::ServiceControlHandlerImpl(\n    const
      Envoy::Http::RequestHeaderMap& headers,\n    Envoy::Http::StreamDecoderFilterCallbacks*
      decoder_callbacks,\n    const std::string& uuid, const FilterConfigParser& cfg_parser,\n
      \   Envoy::TimeSource& time_source, ServiceControlFilterStats& filter_stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:125,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:128,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 8
    functionsReached:
    - ENVOY_LOG
    - auto*::operation_name
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ServiceControlHandlerImpl::getOperationFromPerRoute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:136,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:139,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filter_state'
    argTypes:
    - FilterState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::setStringFilterState
    - config
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::fillFilterState(FilterState& filter_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - cancel_fn_
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::onDestroy()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:153,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:155,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:156,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:158,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:161,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 21
    functionsReached:
    - empty
    - config
    - downstreamAddressProvider
    - systemTime
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::fillOperationInfo(\n    ::espv2::api_proxy::service_control::OperationInfo&
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:175,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:179,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:180,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:181,1
    - Dst: fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:190,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 194
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 7
    functionsReached:
    - fillGCPInfo
    - service_ctx
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::prepareReportRequest(\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:201,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:208,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:212,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:213,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:215,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:219,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:221,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:229,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:231,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - ' headers'
    - ' parent_span'
    - ' callback'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Tracing::Span
    - CheckDoneCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    - getInline
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    - filter_::denied_consumer_error_::inc
    - handle
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - espv2::envoy::utils::readHeaderEntry
    - Status
    - espv2::envoy::utils::extractHeader
    - onCheckDone
    - OkStatus
    - std::string
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callCheck(\n    Envoy::Http::RequestHeaderMap&
      headers, Envoy::Tracing::Span& parent_span,\n    CheckDoneCallback& callback)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:256,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:257,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:262,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:263,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:264,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:270,1
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:273,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:274,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 284
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 15
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    - metric_costs
    - error::name::empty
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::callQuota()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:291,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:293,1
    - Dst: consumer_type::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:303,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:304,1
    - Dst: consumer_number::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:307,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:308,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:312,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:313,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' headers'
    - ' status'
    - ' response_info'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Status
    - CheckResponseInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 318
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 8
    functionsReached:
    - ok
    - consumer_number::empty
    - setReferenceKey
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - error::name::empty
    - consumer_type::empty
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::onCheckResponse(\n    Envoy::Http::RequestHeaderMap&
      headers, const Status& status,\n    const CheckResponseInfo& response_info)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:325,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:330,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:331,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:332,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:334,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:335,1
    - Dst: fillJwtPayloads
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:337,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:338,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:339,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:340,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:343,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:344,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:345,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:348,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:349,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:350,1
    - Dst: getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:353,1
    - Dst: getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: Envoy::Http::RequestHeaderMap*::getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:362,1
    - Dst: fillStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:363,1
    - Dst: bytesReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:365,1
    - Dst: Envoy::Http::ResponseHeaderMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:369,1
    - Dst: Envoy::Http::ResponseTrailerMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:372,1
    - Dst: bytesSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:374,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:376,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:378,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:379,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - request_headers
    - response_headers
    - response_trailers
    - ' parent_span'
    argTypes:
    - Envoy::Http::RequestHeaderMap*
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::Tracing::Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 383
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    - espv2::envoy::utils::readHeaderEntry
    - getFrontendProtocol
    - Envoy::Http::RequestHeaderMap*::getInline
    - bytesReceived
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    - fillJwtPayload
    - handle
    - service_ctx
    - fillJwtPayloads
    - getTraceIdAsHex
    - Envoy::Http::ResponseTrailerMap*::byteSize
    - bytesSent
    - getBackendProtocol
    - responseCodeDetails
    - dynamicMetadata
    - fillLatency
    - fillLoggedHeader
    - fillStatus
    - std::string
    - Envoy::Http::ResponseHeaderMap*::byteSize
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callReport(\n    const Envoy::Http::RequestHeaderMap*
      request_headers,\n    const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \   const Envoy::Http::ResponseTrailerMap* response_trailers,\n    const Envoy::Tracing::Span&
      parent_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:70,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:74,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:75,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:77,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:81,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:86,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:87,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:88,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:93,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:96,1
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:97,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:100,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: default_api_keys
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:108,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:109,1
    - Dst: auto::ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:110,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:111,1
    - Dst: auto::status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:112,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:115,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' uuid'
    - ' cfg_parser'
    - ' time_source'
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - std::string
    - FilterConfigParser
    - Envoy::TimeSource
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 119
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
    - auto::value
    - Method
    - espv2::envoy::utils::readHeaderEntry
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    - auto::status
    - auto::empty
    - non_match_rqm_ctx
    - find_requirement
    - Path
    - service_ctx
    - extractAPIKey
    - byteSize
    - Envoy::Grpc::Common::hasGrpcContentType
    - auto::ok
    - ENVOY_LOG
    - extractIPFromForwardedHeader
    - config
    - default_api_keys
    - std::string
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::ServiceControlHandlerImpl(\n    const
      Envoy::Http::RequestHeaderMap& headers,\n    Envoy::Http::StreamDecoderFilterCallbacks*
      decoder_callbacks,\n    const std::string& uuid, const FilterConfigParser& cfg_parser,\n
      \   Envoy::TimeSource& time_source, ServiceControlFilterStats& filter_stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:125,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:128,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 9
    functionsReached:
    - ENVOY_LOG
    - auto*::operation_name
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ServiceControlHandlerImpl::getOperationFromPerRoute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:136,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:139,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filter_state'
    argTypes:
    - FilterState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::setStringFilterState
    - config
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::fillFilterState(FilterState& filter_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - cancel_fn_
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::onDestroy()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:153,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:155,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:156,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:158,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:161,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 24
    functionsReached:
    - empty
    - config
    - downstreamAddressProvider
    - systemTime
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::fillOperationInfo(\n    ::espv2::api_proxy::service_control::OperationInfo&
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:175,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:179,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:180,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:181,1
    - Dst: fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:190,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 194
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 8
    functionsReached:
    - fillGCPInfo
    - service_ctx
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::prepareReportRequest(\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:201,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:208,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:212,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:213,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:215,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:219,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:221,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:229,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:231,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - ' headers'
    - ' parent_span'
    - ' callback'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Tracing::Span
    - CheckDoneCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    - getInline
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    - filter_::denied_consumer_error_::inc
    - handle
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - espv2::envoy::utils::readHeaderEntry
    - Status
    - espv2::envoy::utils::extractHeader
    - onCheckDone
    - OkStatus
    - std::string
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callCheck(\n    Envoy::Http::RequestHeaderMap&
      headers, Envoy::Tracing::Span& parent_span,\n    CheckDoneCallback& callback)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:256,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:257,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:262,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:263,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:264,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:270,1
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:273,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:274,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 284
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 17
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    - metric_costs
    - error::name::empty
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::callQuota()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:291,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:293,1
    - Dst: consumer_type::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:303,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:304,1
    - Dst: consumer_number::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:307,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:308,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:312,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:313,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' headers'
    - ' status'
    - ' response_info'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Status
    - CheckResponseInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 318
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 9
    functionsReached:
    - ok
    - consumer_number::empty
    - setReferenceKey
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - error::name::empty
    - consumer_type::empty
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::onCheckResponse(\n    Envoy::Http::RequestHeaderMap&
      headers, const Status& status,\n    const CheckResponseInfo& response_info)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:325,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:330,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:331,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:332,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:334,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:335,1
    - Dst: fillJwtPayloads
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:337,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:338,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:339,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:340,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:343,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:344,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:345,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:348,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:349,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:350,1
    - Dst: getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:353,1
    - Dst: getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: Envoy::Http::RequestHeaderMap*::getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:362,1
    - Dst: fillStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:363,1
    - Dst: bytesReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:365,1
    - Dst: Envoy::Http::ResponseHeaderMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:369,1
    - Dst: Envoy::Http::ResponseTrailerMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:372,1
    - Dst: bytesSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:374,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:376,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:378,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:379,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - request_headers
    - response_headers
    - response_trailers
    - ' parent_span'
    argTypes:
    - Envoy::Http::RequestHeaderMap*
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::Tracing::Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 383
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    - espv2::envoy::utils::readHeaderEntry
    - getFrontendProtocol
    - Envoy::Http::RequestHeaderMap*::getInline
    - bytesReceived
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    - fillJwtPayload
    - handle
    - service_ctx
    - fillJwtPayloads
    - getTraceIdAsHex
    - Envoy::Http::ResponseTrailerMap*::byteSize
    - bytesSent
    - getBackendProtocol
    - responseCodeDetails
    - dynamicMetadata
    - fillLatency
    - fillLoggedHeader
    - fillStatus
    - std::string
    - Envoy::Http::ResponseHeaderMap*::byteSize
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callReport(\n    const Envoy::Http::RequestHeaderMap*
      request_headers,\n    const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \   const Envoy::Http::ResponseTrailerMap* response_trailers,\n    const Envoy::Tracing::Span&
      parent_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:70,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:74,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:75,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:77,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:81,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:86,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:87,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:88,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:93,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:96,1
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:97,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:100,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: default_api_keys
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:108,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:109,1
    - Dst: auto::ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:110,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:111,1
    - Dst: auto::status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:112,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:115,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' uuid'
    - ' cfg_parser'
    - ' time_source'
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - std::string
    - FilterConfigParser
    - Envoy::TimeSource
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 119
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
    - auto::value
    - Method
    - espv2::envoy::utils::readHeaderEntry
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    - auto::status
    - auto::empty
    - non_match_rqm_ctx
    - find_requirement
    - Path
    - service_ctx
    - extractAPIKey
    - byteSize
    - Envoy::Grpc::Common::hasGrpcContentType
    - auto::ok
    - ENVOY_LOG
    - extractIPFromForwardedHeader
    - config
    - default_api_keys
    - std::string
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::ServiceControlHandlerImpl(\n    const
      Envoy::Http::RequestHeaderMap& headers,\n    Envoy::Http::StreamDecoderFilterCallbacks*
      decoder_callbacks,\n    const std::string& uuid, const FilterConfigParser& cfg_parser,\n
      \   Envoy::TimeSource& time_source, ServiceControlFilterStats& filter_stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:125,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:128,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 10
    functionsReached:
    - ENVOY_LOG
    - auto*::operation_name
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ServiceControlHandlerImpl::getOperationFromPerRoute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:136,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:139,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filter_state'
    argTypes:
    - FilterState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::setStringFilterState
    - config
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::fillFilterState(FilterState& filter_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - cancel_fn_
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::onDestroy()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:153,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:155,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:156,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:158,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:161,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 27
    functionsReached:
    - empty
    - config
    - downstreamAddressProvider
    - systemTime
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::fillOperationInfo(\n    ::espv2::api_proxy::service_control::OperationInfo&
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:175,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:179,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:180,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:181,1
    - Dst: fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:190,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 194
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 9
    functionsReached:
    - fillGCPInfo
    - service_ctx
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::prepareReportRequest(\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:201,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:208,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:212,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:213,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:215,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:219,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:221,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:229,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:231,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - ' headers'
    - ' parent_span'
    - ' callback'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Tracing::Span
    - CheckDoneCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    - getInline
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    - filter_::denied_consumer_error_::inc
    - handle
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - espv2::envoy::utils::readHeaderEntry
    - Status
    - espv2::envoy::utils::extractHeader
    - onCheckDone
    - OkStatus
    - std::string
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callCheck(\n    Envoy::Http::RequestHeaderMap&
      headers, Envoy::Tracing::Span& parent_span,\n    CheckDoneCallback& callback)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:256,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:257,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:262,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:263,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:264,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:270,1
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:273,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:274,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 284
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 19
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    - metric_costs
    - error::name::empty
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::callQuota()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:291,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:293,1
    - Dst: consumer_type::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:303,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:304,1
    - Dst: consumer_number::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:307,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:308,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:312,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:313,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' headers'
    - ' status'
    - ' response_info'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Status
    - CheckResponseInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 318
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 10
    functionsReached:
    - ok
    - consumer_number::empty
    - setReferenceKey
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - error::name::empty
    - consumer_type::empty
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::onCheckResponse(\n    Envoy::Http::RequestHeaderMap&
      headers, const Status& status,\n    const CheckResponseInfo& response_info)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:325,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:330,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:331,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:332,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:334,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:335,1
    - Dst: fillJwtPayloads
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:337,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:338,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:339,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:340,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:343,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:344,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:345,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:348,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:349,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:350,1
    - Dst: getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:353,1
    - Dst: getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: Envoy::Http::RequestHeaderMap*::getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:362,1
    - Dst: fillStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:363,1
    - Dst: bytesReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:365,1
    - Dst: Envoy::Http::ResponseHeaderMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:369,1
    - Dst: Envoy::Http::ResponseTrailerMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:372,1
    - Dst: bytesSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:374,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:376,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:378,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:379,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - request_headers
    - response_headers
    - response_trailers
    - ' parent_span'
    argTypes:
    - Envoy::Http::RequestHeaderMap*
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::Tracing::Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 383
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    - espv2::envoy::utils::readHeaderEntry
    - getFrontendProtocol
    - Envoy::Http::RequestHeaderMap*::getInline
    - bytesReceived
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    - fillJwtPayload
    - handle
    - service_ctx
    - fillJwtPayloads
    - getTraceIdAsHex
    - Envoy::Http::ResponseTrailerMap*::byteSize
    - bytesSent
    - getBackendProtocol
    - responseCodeDetails
    - dynamicMetadata
    - fillLatency
    - fillLoggedHeader
    - fillStatus
    - std::string
    - Envoy::Http::ResponseHeaderMap*::byteSize
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callReport(\n    const Envoy::Http::RequestHeaderMap*
      request_headers,\n    const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \   const Envoy::Http::ResponseTrailerMap* response_trailers,\n    const Envoy::Tracing::Span&
      parent_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:70,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:74,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:75,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:77,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:81,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:86,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:87,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:88,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:93,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:96,1
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:97,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:100,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: default_api_keys
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:108,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:109,1
    - Dst: auto::ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:110,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:111,1
    - Dst: auto::status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:112,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:115,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' uuid'
    - ' cfg_parser'
    - ' time_source'
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - std::string
    - FilterConfigParser
    - Envoy::TimeSource
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 119
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
    - auto::value
    - Method
    - espv2::envoy::utils::readHeaderEntry
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    - auto::status
    - auto::empty
    - non_match_rqm_ctx
    - find_requirement
    - Path
    - service_ctx
    - extractAPIKey
    - byteSize
    - Envoy::Grpc::Common::hasGrpcContentType
    - auto::ok
    - ENVOY_LOG
    - extractIPFromForwardedHeader
    - config
    - default_api_keys
    - std::string
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::ServiceControlHandlerImpl(\n    const
      Envoy::Http::RequestHeaderMap& headers,\n    Envoy::Http::StreamDecoderFilterCallbacks*
      decoder_callbacks,\n    const std::string& uuid, const FilterConfigParser& cfg_parser,\n
      \   Envoy::TimeSource& time_source, ServiceControlFilterStats& filter_stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:125,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:128,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 11
    functionsReached:
    - ENVOY_LOG
    - auto*::operation_name
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ServiceControlHandlerImpl::getOperationFromPerRoute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:136,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:139,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filter_state'
    argTypes:
    - FilterState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::setStringFilterState
    - config
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::fillFilterState(FilterState& filter_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - cancel_fn_
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::onDestroy()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:153,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:155,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:156,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:158,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:161,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 30
    functionsReached:
    - empty
    - config
    - downstreamAddressProvider
    - systemTime
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::fillOperationInfo(\n    ::espv2::api_proxy::service_control::OperationInfo&
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:175,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:179,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:180,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:181,1
    - Dst: fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:190,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 194
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 10
    functionsReached:
    - fillGCPInfo
    - service_ctx
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::prepareReportRequest(\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:201,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:208,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:212,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:213,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:215,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:219,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:221,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:229,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:231,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - ' headers'
    - ' parent_span'
    - ' callback'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Tracing::Span
    - CheckDoneCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    - getInline
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    - filter_::denied_consumer_error_::inc
    - handle
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - espv2::envoy::utils::readHeaderEntry
    - Status
    - espv2::envoy::utils::extractHeader
    - onCheckDone
    - OkStatus
    - std::string
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callCheck(\n    Envoy::Http::RequestHeaderMap&
      headers, Envoy::Tracing::Span& parent_span,\n    CheckDoneCallback& callback)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:256,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:257,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:262,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:263,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:264,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:270,1
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:273,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:274,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 284
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 21
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    - metric_costs
    - error::name::empty
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::callQuota()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:291,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:293,1
    - Dst: consumer_type::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:303,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:304,1
    - Dst: consumer_number::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:307,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:308,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:312,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:313,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' headers'
    - ' status'
    - ' response_info'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Status
    - CheckResponseInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 318
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 11
    functionsReached:
    - ok
    - consumer_number::empty
    - setReferenceKey
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - error::name::empty
    - consumer_type::empty
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::onCheckResponse(\n    Envoy::Http::RequestHeaderMap&
      headers, const Status& status,\n    const CheckResponseInfo& response_info)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:325,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:330,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:331,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:332,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:334,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:335,1
    - Dst: fillJwtPayloads
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:337,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:338,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:339,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:340,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:343,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:344,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:345,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:348,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:349,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:350,1
    - Dst: getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:353,1
    - Dst: getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: Envoy::Http::RequestHeaderMap*::getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:362,1
    - Dst: fillStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:363,1
    - Dst: bytesReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:365,1
    - Dst: Envoy::Http::ResponseHeaderMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:369,1
    - Dst: Envoy::Http::ResponseTrailerMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:372,1
    - Dst: bytesSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:374,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:376,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:378,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:379,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - request_headers
    - response_headers
    - response_trailers
    - ' parent_span'
    argTypes:
    - Envoy::Http::RequestHeaderMap*
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::Tracing::Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 383
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    - espv2::envoy::utils::readHeaderEntry
    - getFrontendProtocol
    - Envoy::Http::RequestHeaderMap*::getInline
    - bytesReceived
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    - fillJwtPayload
    - handle
    - service_ctx
    - fillJwtPayloads
    - getTraceIdAsHex
    - Envoy::Http::ResponseTrailerMap*::byteSize
    - bytesSent
    - getBackendProtocol
    - responseCodeDetails
    - dynamicMetadata
    - fillLatency
    - fillLoggedHeader
    - fillStatus
    - std::string
    - Envoy::Http::ResponseHeaderMap*::byteSize
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callReport(\n    const Envoy::Http::RequestHeaderMap*
      request_headers,\n    const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \   const Envoy::Http::ResponseTrailerMap* response_trailers,\n    const Envoy::Tracing::Span&
      parent_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:70,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:74,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:75,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:77,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:81,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:86,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:87,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:88,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:93,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:96,1
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:97,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:100,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: default_api_keys
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:108,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:109,1
    - Dst: auto::ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:110,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:111,1
    - Dst: auto::status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:112,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:115,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' uuid'
    - ' cfg_parser'
    - ' time_source'
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - std::string
    - FilterConfigParser
    - Envoy::TimeSource
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 119
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
    - auto::value
    - Method
    - espv2::envoy::utils::readHeaderEntry
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    - auto::status
    - auto::empty
    - non_match_rqm_ctx
    - find_requirement
    - Path
    - service_ctx
    - extractAPIKey
    - byteSize
    - Envoy::Grpc::Common::hasGrpcContentType
    - auto::ok
    - ENVOY_LOG
    - extractIPFromForwardedHeader
    - config
    - default_api_keys
    - std::string
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::ServiceControlHandlerImpl(\n    const
      Envoy::Http::RequestHeaderMap& headers,\n    Envoy::Http::StreamDecoderFilterCallbacks*
      decoder_callbacks,\n    const std::string& uuid, const FilterConfigParser& cfg_parser,\n
      \   Envoy::TimeSource& time_source, ServiceControlFilterStats& filter_stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:125,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:128,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 12
    functionsReached:
    - ENVOY_LOG
    - auto*::operation_name
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ServiceControlHandlerImpl::getOperationFromPerRoute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:136,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:139,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filter_state'
    argTypes:
    - FilterState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::setStringFilterState
    - config
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::fillFilterState(FilterState& filter_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - cancel_fn_
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::onDestroy()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:153,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:155,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:156,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:158,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:161,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 33
    functionsReached:
    - empty
    - config
    - downstreamAddressProvider
    - systemTime
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::fillOperationInfo(\n    ::espv2::api_proxy::service_control::OperationInfo&
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:175,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:179,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:180,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:181,1
    - Dst: fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:190,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 194
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 11
    functionsReached:
    - fillGCPInfo
    - service_ctx
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::prepareReportRequest(\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:201,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:208,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:212,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:213,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:215,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:219,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:221,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:229,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:231,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - ' headers'
    - ' parent_span'
    - ' callback'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Tracing::Span
    - CheckDoneCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    - getInline
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    - filter_::denied_consumer_error_::inc
    - handle
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - espv2::envoy::utils::readHeaderEntry
    - Status
    - espv2::envoy::utils::extractHeader
    - onCheckDone
    - OkStatus
    - std::string
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callCheck(\n    Envoy::Http::RequestHeaderMap&
      headers, Envoy::Tracing::Span& parent_span,\n    CheckDoneCallback& callback)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:256,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:257,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:262,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:263,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:264,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:270,1
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:273,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:274,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 284
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 23
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    - metric_costs
    - error::name::empty
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::callQuota()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:291,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:293,1
    - Dst: consumer_type::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:303,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:304,1
    - Dst: consumer_number::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:307,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:308,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:312,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:313,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' headers'
    - ' status'
    - ' response_info'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Status
    - CheckResponseInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 318
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 12
    functionsReached:
    - ok
    - consumer_number::empty
    - setReferenceKey
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - error::name::empty
    - consumer_type::empty
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::onCheckResponse(\n    Envoy::Http::RequestHeaderMap&
      headers, const Status& status,\n    const CheckResponseInfo& response_info)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:325,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:330,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:331,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:332,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:334,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:335,1
    - Dst: fillJwtPayloads
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:337,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:338,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:339,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:340,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:343,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:344,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:345,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:348,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:349,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:350,1
    - Dst: getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:353,1
    - Dst: getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: Envoy::Http::RequestHeaderMap*::getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:362,1
    - Dst: fillStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:363,1
    - Dst: bytesReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:365,1
    - Dst: Envoy::Http::ResponseHeaderMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:369,1
    - Dst: Envoy::Http::ResponseTrailerMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:372,1
    - Dst: bytesSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:374,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:376,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:378,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:379,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - request_headers
    - response_headers
    - response_trailers
    - ' parent_span'
    argTypes:
    - Envoy::Http::RequestHeaderMap*
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::Tracing::Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 383
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    - espv2::envoy::utils::readHeaderEntry
    - getFrontendProtocol
    - Envoy::Http::RequestHeaderMap*::getInline
    - bytesReceived
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    - fillJwtPayload
    - handle
    - service_ctx
    - fillJwtPayloads
    - getTraceIdAsHex
    - Envoy::Http::ResponseTrailerMap*::byteSize
    - bytesSent
    - getBackendProtocol
    - responseCodeDetails
    - dynamicMetadata
    - fillLatency
    - fillLoggedHeader
    - fillStatus
    - std::string
    - Envoy::Http::ResponseHeaderMap*::byteSize
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callReport(\n    const Envoy::Http::RequestHeaderMap*
      request_headers,\n    const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \   const Envoy::Http::ResponseTrailerMap* response_trailers,\n    const Envoy::Tracing::Span&
      parent_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:70,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:74,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:75,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:77,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:81,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:86,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:87,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:88,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:93,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:96,1
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:97,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:100,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: default_api_keys
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:108,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:109,1
    - Dst: auto::ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:110,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:111,1
    - Dst: auto::status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:112,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:115,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' uuid'
    - ' cfg_parser'
    - ' time_source'
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - std::string
    - FilterConfigParser
    - Envoy::TimeSource
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 119
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
    - auto::value
    - Method
    - espv2::envoy::utils::readHeaderEntry
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    - auto::status
    - auto::empty
    - non_match_rqm_ctx
    - find_requirement
    - Path
    - service_ctx
    - extractAPIKey
    - byteSize
    - Envoy::Grpc::Common::hasGrpcContentType
    - auto::ok
    - ENVOY_LOG
    - extractIPFromForwardedHeader
    - config
    - default_api_keys
    - std::string
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::ServiceControlHandlerImpl(\n    const
      Envoy::Http::RequestHeaderMap& headers,\n    Envoy::Http::StreamDecoderFilterCallbacks*
      decoder_callbacks,\n    const std::string& uuid, const FilterConfigParser& cfg_parser,\n
      \   Envoy::TimeSource& time_source, ServiceControlFilterStats& filter_stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:125,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:128,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 13
    functionsReached:
    - ENVOY_LOG
    - auto*::operation_name
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ServiceControlHandlerImpl::getOperationFromPerRoute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:136,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:139,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filter_state'
    argTypes:
    - FilterState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::setStringFilterState
    - config
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::fillFilterState(FilterState& filter_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - cancel_fn_
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::onDestroy()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:153,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:155,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:156,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:158,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:161,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 36
    functionsReached:
    - empty
    - config
    - downstreamAddressProvider
    - systemTime
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::fillOperationInfo(\n    ::espv2::api_proxy::service_control::OperationInfo&
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:175,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:179,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:180,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:181,1
    - Dst: fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:190,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 194
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 12
    functionsReached:
    - fillGCPInfo
    - service_ctx
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::prepareReportRequest(\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:201,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:208,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:212,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:213,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:215,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:219,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:221,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:229,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:231,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - ' headers'
    - ' parent_span'
    - ' callback'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Tracing::Span
    - CheckDoneCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    - getInline
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    - filter_::denied_consumer_error_::inc
    - handle
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - espv2::envoy::utils::readHeaderEntry
    - Status
    - espv2::envoy::utils::extractHeader
    - onCheckDone
    - OkStatus
    - std::string
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callCheck(\n    Envoy::Http::RequestHeaderMap&
      headers, Envoy::Tracing::Span& parent_span,\n    CheckDoneCallback& callback)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:256,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:257,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:262,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:263,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:264,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:270,1
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:273,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:274,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 284
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 25
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    - metric_costs
    - error::name::empty
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::callQuota()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:291,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:293,1
    - Dst: consumer_type::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:303,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:304,1
    - Dst: consumer_number::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:307,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:308,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:312,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:313,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' headers'
    - ' status'
    - ' response_info'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Status
    - CheckResponseInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 318
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 13
    functionsReached:
    - ok
    - consumer_number::empty
    - setReferenceKey
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - error::name::empty
    - consumer_type::empty
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::onCheckResponse(\n    Envoy::Http::RequestHeaderMap&
      headers, const Status& status,\n    const CheckResponseInfo& response_info)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:325,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:330,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:331,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:332,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:334,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:335,1
    - Dst: fillJwtPayloads
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:337,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:338,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:339,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:340,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:343,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:344,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:345,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:348,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:349,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:350,1
    - Dst: getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:353,1
    - Dst: getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: Envoy::Http::RequestHeaderMap*::getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:362,1
    - Dst: fillStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:363,1
    - Dst: bytesReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:365,1
    - Dst: Envoy::Http::ResponseHeaderMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:369,1
    - Dst: Envoy::Http::ResponseTrailerMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:372,1
    - Dst: bytesSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:374,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:376,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:378,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:379,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - request_headers
    - response_headers
    - response_trailers
    - ' parent_span'
    argTypes:
    - Envoy::Http::RequestHeaderMap*
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::Tracing::Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 383
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    - espv2::envoy::utils::readHeaderEntry
    - getFrontendProtocol
    - Envoy::Http::RequestHeaderMap*::getInline
    - bytesReceived
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    - fillJwtPayload
    - handle
    - service_ctx
    - fillJwtPayloads
    - getTraceIdAsHex
    - Envoy::Http::ResponseTrailerMap*::byteSize
    - bytesSent
    - getBackendProtocol
    - responseCodeDetails
    - dynamicMetadata
    - fillLatency
    - fillLoggedHeader
    - fillStatus
    - std::string
    - Envoy::Http::ResponseHeaderMap*::byteSize
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callReport(\n    const Envoy::Http::RequestHeaderMap*
      request_headers,\n    const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \   const Envoy::Http::ResponseTrailerMap* response_trailers,\n    const Envoy::Tracing::Span&
      parent_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:70,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:74,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:75,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:77,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:81,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:86,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:87,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:88,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:93,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:96,1
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:97,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:100,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: default_api_keys
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:108,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:109,1
    - Dst: auto::ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:110,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:111,1
    - Dst: auto::status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:112,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:115,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' uuid'
    - ' cfg_parser'
    - ' time_source'
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - std::string
    - FilterConfigParser
    - Envoy::TimeSource
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 119
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
    - auto::value
    - Method
    - espv2::envoy::utils::readHeaderEntry
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    - auto::status
    - auto::empty
    - non_match_rqm_ctx
    - find_requirement
    - Path
    - service_ctx
    - extractAPIKey
    - byteSize
    - Envoy::Grpc::Common::hasGrpcContentType
    - auto::ok
    - ENVOY_LOG
    - extractIPFromForwardedHeader
    - config
    - default_api_keys
    - std::string
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::ServiceControlHandlerImpl(\n    const
      Envoy::Http::RequestHeaderMap& headers,\n    Envoy::Http::StreamDecoderFilterCallbacks*
      decoder_callbacks,\n    const std::string& uuid, const FilterConfigParser& cfg_parser,\n
      \   Envoy::TimeSource& time_source, ServiceControlFilterStats& filter_stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:125,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:128,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 14
    functionsReached:
    - ENVOY_LOG
    - auto*::operation_name
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ServiceControlHandlerImpl::getOperationFromPerRoute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:136,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:139,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filter_state'
    argTypes:
    - FilterState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::setStringFilterState
    - config
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::fillFilterState(FilterState& filter_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - cancel_fn_
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::onDestroy()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:153,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:155,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:156,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:158,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:161,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 39
    functionsReached:
    - empty
    - config
    - downstreamAddressProvider
    - systemTime
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::fillOperationInfo(\n    ::espv2::api_proxy::service_control::OperationInfo&
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:175,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:179,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:180,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:181,1
    - Dst: fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:190,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 194
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 13
    functionsReached:
    - fillGCPInfo
    - service_ctx
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::prepareReportRequest(\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:201,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:208,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:212,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:213,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:215,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:219,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:221,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:229,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:231,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - ' headers'
    - ' parent_span'
    - ' callback'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Tracing::Span
    - CheckDoneCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    - getInline
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    - filter_::denied_consumer_error_::inc
    - handle
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - espv2::envoy::utils::readHeaderEntry
    - Status
    - espv2::envoy::utils::extractHeader
    - onCheckDone
    - OkStatus
    - std::string
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callCheck(\n    Envoy::Http::RequestHeaderMap&
      headers, Envoy::Tracing::Span& parent_span,\n    CheckDoneCallback& callback)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:256,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:257,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:262,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:263,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:264,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:270,1
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:273,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:274,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 284
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 27
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    - metric_costs
    - error::name::empty
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::callQuota()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:291,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:293,1
    - Dst: consumer_type::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:303,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:304,1
    - Dst: consumer_number::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:307,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:308,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:312,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:313,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' headers'
    - ' status'
    - ' response_info'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Status
    - CheckResponseInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 318
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 14
    functionsReached:
    - ok
    - consumer_number::empty
    - setReferenceKey
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - error::name::empty
    - consumer_type::empty
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::onCheckResponse(\n    Envoy::Http::RequestHeaderMap&
      headers, const Status& status,\n    const CheckResponseInfo& response_info)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:325,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:330,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:331,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:332,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:334,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:335,1
    - Dst: fillJwtPayloads
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:337,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:338,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:339,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:340,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:343,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:344,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:345,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:348,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:349,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:350,1
    - Dst: getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:353,1
    - Dst: getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: Envoy::Http::RequestHeaderMap*::getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:362,1
    - Dst: fillStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:363,1
    - Dst: bytesReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:365,1
    - Dst: Envoy::Http::ResponseHeaderMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:369,1
    - Dst: Envoy::Http::ResponseTrailerMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:372,1
    - Dst: bytesSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:374,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:376,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:378,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:379,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - request_headers
    - response_headers
    - response_trailers
    - ' parent_span'
    argTypes:
    - Envoy::Http::RequestHeaderMap*
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::Tracing::Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 383
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    - espv2::envoy::utils::readHeaderEntry
    - getFrontendProtocol
    - Envoy::Http::RequestHeaderMap*::getInline
    - bytesReceived
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    - fillJwtPayload
    - handle
    - service_ctx
    - fillJwtPayloads
    - getTraceIdAsHex
    - Envoy::Http::ResponseTrailerMap*::byteSize
    - bytesSent
    - getBackendProtocol
    - responseCodeDetails
    - dynamicMetadata
    - fillLatency
    - fillLoggedHeader
    - fillStatus
    - std::string
    - Envoy::Http::ResponseHeaderMap*::byteSize
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callReport(\n    const Envoy::Http::RequestHeaderMap*
      request_headers,\n    const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \   const Envoy::Http::ResponseTrailerMap* response_trailers,\n    const Envoy::Tracing::Span&
      parent_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:70,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:74,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:75,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:77,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:81,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:86,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:87,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:88,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:93,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:96,1
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:97,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:100,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: default_api_keys
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:108,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:109,1
    - Dst: auto::ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:110,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:111,1
    - Dst: auto::status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:112,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:115,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' uuid'
    - ' cfg_parser'
    - ' time_source'
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - std::string
    - FilterConfigParser
    - Envoy::TimeSource
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 119
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
    - auto::value
    - Method
    - espv2::envoy::utils::readHeaderEntry
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    - auto::status
    - auto::empty
    - non_match_rqm_ctx
    - find_requirement
    - Path
    - service_ctx
    - extractAPIKey
    - byteSize
    - Envoy::Grpc::Common::hasGrpcContentType
    - auto::ok
    - ENVOY_LOG
    - extractIPFromForwardedHeader
    - config
    - default_api_keys
    - std::string
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::ServiceControlHandlerImpl(\n    const
      Envoy::Http::RequestHeaderMap& headers,\n    Envoy::Http::StreamDecoderFilterCallbacks*
      decoder_callbacks,\n    const std::string& uuid, const FilterConfigParser& cfg_parser,\n
      \   Envoy::TimeSource& time_source, ServiceControlFilterStats& filter_stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:125,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:128,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 15
    functionsReached:
    - ENVOY_LOG
    - auto*::operation_name
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ServiceControlHandlerImpl::getOperationFromPerRoute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:136,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:139,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filter_state'
    argTypes:
    - FilterState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::setStringFilterState
    - config
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::fillFilterState(FilterState& filter_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - cancel_fn_
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::onDestroy()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:153,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:155,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:156,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:158,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:161,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 42
    functionsReached:
    - empty
    - config
    - downstreamAddressProvider
    - systemTime
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::fillOperationInfo(\n    ::espv2::api_proxy::service_control::OperationInfo&
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:175,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:179,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:180,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:181,1
    - Dst: fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:190,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 194
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 14
    functionsReached:
    - fillGCPInfo
    - service_ctx
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::prepareReportRequest(\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:201,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:208,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:212,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:213,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:215,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:219,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:221,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:229,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:231,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - ' headers'
    - ' parent_span'
    - ' callback'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Tracing::Span
    - CheckDoneCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    - getInline
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    - filter_::denied_consumer_error_::inc
    - handle
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - espv2::envoy::utils::readHeaderEntry
    - Status
    - espv2::envoy::utils::extractHeader
    - onCheckDone
    - OkStatus
    - std::string
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callCheck(\n    Envoy::Http::RequestHeaderMap&
      headers, Envoy::Tracing::Span& parent_span,\n    CheckDoneCallback& callback)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:256,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:257,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:262,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:263,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:264,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:270,1
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:273,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:274,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 284
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 29
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    - metric_costs
    - error::name::empty
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::callQuota()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:291,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:293,1
    - Dst: consumer_type::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:303,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:304,1
    - Dst: consumer_number::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:307,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:308,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:312,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:313,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' headers'
    - ' status'
    - ' response_info'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Status
    - CheckResponseInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 318
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 15
    functionsReached:
    - ok
    - consumer_number::empty
    - setReferenceKey
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - error::name::empty
    - consumer_type::empty
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::onCheckResponse(\n    Envoy::Http::RequestHeaderMap&
      headers, const Status& status,\n    const CheckResponseInfo& response_info)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:325,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:330,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:331,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:332,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:334,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:335,1
    - Dst: fillJwtPayloads
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:337,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:338,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:339,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:340,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:343,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:344,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:345,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:348,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:349,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:350,1
    - Dst: getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:353,1
    - Dst: getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: Envoy::Http::RequestHeaderMap*::getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:362,1
    - Dst: fillStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:363,1
    - Dst: bytesReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:365,1
    - Dst: Envoy::Http::ResponseHeaderMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:369,1
    - Dst: Envoy::Http::ResponseTrailerMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:372,1
    - Dst: bytesSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:374,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:376,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:378,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:379,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - request_headers
    - response_headers
    - response_trailers
    - ' parent_span'
    argTypes:
    - Envoy::Http::RequestHeaderMap*
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::Tracing::Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 383
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    - espv2::envoy::utils::readHeaderEntry
    - getFrontendProtocol
    - Envoy::Http::RequestHeaderMap*::getInline
    - bytesReceived
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    - fillJwtPayload
    - handle
    - service_ctx
    - fillJwtPayloads
    - getTraceIdAsHex
    - Envoy::Http::ResponseTrailerMap*::byteSize
    - bytesSent
    - getBackendProtocol
    - responseCodeDetails
    - dynamicMetadata
    - fillLatency
    - fillLoggedHeader
    - fillStatus
    - std::string
    - Envoy::Http::ResponseHeaderMap*::byteSize
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callReport(\n    const Envoy::Http::RequestHeaderMap*
      request_headers,\n    const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \   const Envoy::Http::ResponseTrailerMap* response_trailers,\n    const Envoy::Tracing::Span&
      parent_span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:70,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:74,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:75,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:77,1
    - Dst: Envoy::Grpc::Common::hasGrpcContentType
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:81,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:83,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: Path
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:84,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:86,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:87,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:88,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:90,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:93,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:96,1
    - Dst: non_match_rqm_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:97,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:100,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:101,1
    - Dst: extractAPIKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: default_api_keys
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:104,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:108,1
    - Dst: extractIPFromForwardedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:109,1
    - Dst: auto::ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:110,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:111,1
    - Dst: auto::status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:112,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:115,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - ' headers'
    - decoder_callbacks
    - ' uuid'
    - ' cfg_parser'
    - ' time_source'
    - ' filter_stats'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Http::StreamDecoderFilterCallbacks*
    - std::string
    - FilterConfigParser
    - Envoy::TimeSource
    - ServiceControlFilterStats
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 119
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterCallbacks*::streamInfo
    - auto::value
    - Method
    - espv2::envoy::utils::readHeaderEntry
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    - auto::status
    - auto::empty
    - non_match_rqm_ctx
    - find_requirement
    - Path
    - service_ctx
    - extractAPIKey
    - byteSize
    - Envoy::Grpc::Common::hasGrpcContentType
    - auto::ok
    - ENVOY_LOG
    - extractIPFromForwardedHeader
    - config
    - default_api_keys
    - std::string
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::ServiceControlHandlerImpl(\n    const
      Envoy::Http::RequestHeaderMap& headers,\n    Envoy::Http::StreamDecoderFilterCallbacks*
      decoder_callbacks,\n    const std::string& uuid, const FilterConfigParser& cfg_parser,\n
      \   Envoy::TimeSource& time_source, ServiceControlFilterStats& filter_stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:125,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:128,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:131,1
    - Dst: auto*::operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 16
    functionsReached:
    - ENVOY_LOG
    - auto*::operation_name
    - "::Envoy::Http::Utility::resolveMostSpecificPerFilterConfig<\n          PerRouteFilterConfig>"
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view ServiceControlHandlerImpl::getOperationFromPerRoute()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:136,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:139,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ' filter_state'
    argTypes:
    - FilterState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::setStringFilterState
    - config
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::fillFilterState(FilterState& filter_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel_fn_
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - cancel_fn_
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::onDestroy()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:153,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:155,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:156,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:158,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:161,1
    - Dst: downstreamAddressProvider
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::OperationInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 45
    functionsReached:
    - empty
    - config
    - downstreamAddressProvider
    - systemTime
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::fillOperationInfo(\n    ::espv2::api_proxy::service_control::OperationInfo&
      info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:175,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:179,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:180,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:181,1
    - Dst: fillGCPInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:187,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:190,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ' info'
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 194
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 15
    functionsReached:
    - fillGCPInfo
    - service_ctx
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::prepareReportRequest(\n    ::espv2::api_proxy::service_control::ReportRequestInfo&
      info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:201,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:202,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:207,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:208,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:212,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:213,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:215,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:219,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:221,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:229,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:231,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:232,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:234,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:236,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: espv2::envoy::utils::extractHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:238,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:241,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - ' headers'
    - ' parent_span'
    - ' callback'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Envoy::Tracing::Span
    - CheckDoneCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 252
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
    - getInline
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
    - filter_::denied_consumer_error_::inc
    - handle
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - espv2::envoy::utils::readHeaderEntry
    - Status
    - espv2::envoy::utils::extractHeader
    - onCheckDone
    - OkStatus
    - std::string
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callCheck(\n    Envoy::Http::RequestHeaderMap&
      headers, Envoy::Tracing::Span& parent_span,\n    CheckDoneCallback& callback)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:256,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:257,1
    - Dst: metric_costs
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:262,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:263,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:264,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:270,1
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:273,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:274,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 284
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 31
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
    - metric_costs
    - error::name::empty
    - config
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    - service_ctx
    linkageType: ''
    returnType: void
    signature: void ServiceControlHandlerImpl::callQuota()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: error::name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:291,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:293,1
    - Dst: consumer_type::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:303,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:304,1
    - Dst: consumer_number::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:307,1
    - Dst: setReferenceKey
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:308,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:312,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:313,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ' headers'
    - ' status'
    - ' response_info'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    - Status
    - CheckResponseInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 318
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 16
    functionsReached:
    - ok
    - consumer_number::empty
    - setReferenceKey
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
    - error::name::empty
    - consumer_type::empty
    - onCheckDone
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::onCheckResponse(\n    Envoy::Http::RequestHeaderMap&
      headers, const Status& status,\n    const CheckResponseInfo& response_info)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:325,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:330,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:331,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:332,1
    - Dst: fillLoggedHeader
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:334,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:335,1
    - Dst: fillJwtPayloads
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:337,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:338,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:339,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:340,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:343,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:344,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:345,1
    - Dst: fillJwtPayload
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:348,1
    - Dst: dynamicMetadata
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:349,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:350,1
    - Dst: getFrontendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:353,1
    - Dst: getBackendProtocol
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:355,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: espv2::envoy::utils::readHeaderEntry
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:358,1
    - Dst: Envoy::Http::RequestHeaderMap*::getInline
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: handle
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:359,1
    - Dst: fillLatency
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:362,1
    - Dst: fillStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:363,1
    - Dst: bytesReceived
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:365,1
    - Dst: Envoy::Http::ResponseHeaderMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:369,1
    - Dst: Envoy::Http::ResponseTrailerMap*::byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:372,1
    - Dst: bytesSent
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:374,1
    - Dst: responseCodeDetails
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:376,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:378,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:379,1
    - Dst: service_ctx
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - request_headers
    - response_headers
    - response_trailers
    - ' parent_span'
    argTypes:
    - Envoy::Http::RequestHeaderMap*
    - Envoy::Http::ResponseHeaderMap*
    - Envoy::Http::ResponseTrailerMap*
    - Envoy::Tracing::Span
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 383
    functionName: espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
    - espv2::envoy::utils::readHeaderEntry
    - getFrontendProtocol
    - Envoy::Http::RequestHeaderMap*::getInline
    - bytesReceived
    - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
    - fillJwtPayload
    - handle
    - service_ctx
    - fillJwtPayloads
    - getTraceIdAsHex
    - Envoy::Http::ResponseTrailerMap*::byteSize
    - bytesSent
    - getBackendProtocol
    - responseCodeDetails
    - dynamicMetadata
    - fillLatency
    - fillLoggedHeader
    - fillStatus
    - std::string
    - Envoy::Http::ResponseHeaderMap*::byteSize
    linkageType: ''
    returnType: void
    signature: "void ServiceControlHandlerImpl::callReport(\n    const Envoy::Http::RequestHeaderMap*
      request_headers,\n    const Envoy::Http::ResponseHeaderMap* response_headers,\n
      \   const Envoy::Http::ResponseTrailerMap* response_trailers,\n    const Envoy::Tracing::Span&
      parent_span)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 1
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 2
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 3
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 4
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 5
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 6
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 7
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 8
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 9
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 10
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 11
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 12
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 13
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 14
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 15
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 16
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 17
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 18
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 19
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 20
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 21
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 22
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 23
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 24
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 25
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 26
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 27
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 28
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 29
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 30
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: static_cast<Envoy::Http::StreamDecoderFilter*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:46,1
    - Dst: downstream_request
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:47,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: static_cast<Envoy::AccessLog::Instance*>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:48,1
    - Dst: Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' filter'
    - ' stream_info'
    - ' input'
    argTypes:
    - ServiceControlFilter
    - Envoy::TestStreamInfo
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: espv2::envoy::http_filters::service_control::fuzz::doTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 31
    functionsReached:
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::runData
    - static_cast<Envoy::AccessLog::Instance*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::reset
    - static_cast<Envoy::Http::StreamDecoderFilter*>
    - Envoy::Extensions::HttpFilters::UberFilterFuzzer::accessLog
    - downstream_request
    linkageType: ''
    returnType: void
    signature: "void doTest(\n    ServiceControlFilter& filter, Envoy::TestStreamInfo&
      stream_info,\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:55,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:60,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:66,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:67,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: activeSpan
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:81,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:82,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:86,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:88,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:89,1
    - Dst: NiceMock<Envoy::Event::MockTimer>::MockTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:91,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:96,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:97,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:98,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:99,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:100,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:107,1
    - Dst: sidestream_response
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:108,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:112,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:113,1
    - Dst: std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:115,1
    - Dst: Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:117,1
    - Dst: trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:118,1
    - Dst: std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:120,1
    - Dst: std::make_unique<ResponseMessageImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:123,1
    - Dst: auto::trailers
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:124,1
    - Dst: has_http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:125,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:126,1
    - Dst: auto::body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: http_body
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:128,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:132,1
    - Dst: Envoy::Fuzz::fromStreamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: stream_info
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:140,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: streamInfo
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:141,1
    - Dst: ReturnRef
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:142,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:145,1
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:150,1
    - Dst: config
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:151,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:152,1
    - Dst: std::make_shared<NiceMock<MockRoute>>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:154,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:156,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:158,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:160,1
    - Dst: ServiceControlFilterConfig::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:164,1
    - Dst: ServiceControlFilterConfig::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:165,1
    - Dst: ServiceControlFilter::setDecoderFilterCallbacks
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:166,1
    - Dst: onReadyCallback
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:170,1
    - Dst: ASSERT_NO_THROW
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: espv2::envoy::http_filters::service_control::fuzz::doTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:174,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ServiceControlFilterInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 179
    functionName: espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_NO_THROW
    - activeSpan
    - Envoy::Tracing::NullSpan::instance
    - EXPECT_CALL
    - std::move
    - http_body
    - std::make_unique<Envoy::Http::TestResponseHeaderMapImpl>
    - createTimer_
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - auto::trailers
    - ENVOY_LOG_MISC
    - std::make_shared<NiceMock<MockRoute>>
    - streamInfo
    - Envoy::Fuzz::fromStreamInfo
    - trailers
    - Return
    - auto::body
    - std::make_shared<PerRouteFilterConfig>
    - ServiceControlFilterConfig::handler_factory
    - std::make_unique<Envoy::Http::TestResponseTrailerMapImpl>
    - onReadyCallback
    - ServiceControlFilterConfig::stats
    - send_
    - headers
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseTrailerMapImpl>
    - ReturnRef
    - what
    - std::make_unique<ResponseMessageImpl>
    - DebugString
    - has_http_body
    - ServiceControlFilter::setDecoderFilterCallbacks
    - espv2::envoy::http_filters::service_control::fuzz::doTest
    - mostSpecificPerFilterConfig
    - getThreadLocalCluster
    - onSuccess
    - Envoy::Fuzz::fromHeaders<Envoy::Http::TestResponseHeaderMapImpl>
    - sidestream_response
    - Envoy::TestUtility::validate
    - Invoke
    - config
    - NiceMock<Envoy::Event::MockTimer>::MockTimer>
    - stream_info
    - auto::get
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ServiceControlFilterInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 1
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 2
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:159,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:160,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:161,1
    - Dst: Response*::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:163,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:164,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:166,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' status'
    - resp
    - ' body'
    argTypes:
    - Status
    - Response*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ok
    - Response*::ParseFromString
    - ToString
    - ENVOY_LOG
    - Status
    - std::string
    linkageType: ''
    returnType: Status
    signature: "Status ClientCache::processScCallTransportStatus(const Status& status,\n
      \                                                Response* resp,\n                                                 const
      std::string& body)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:175,1
    - Dst: sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:185,1
    - Dst: has_network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:186,1
    - Dst: network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:187,1
    - Dst: has_check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:189,1
    - Dst: check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:190,1
    - Dst: has_quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:192,1
    - Dst: quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:193,1
    - Dst: has_report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:195,1
    - Dst: report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:196,1
    - Dst: has_check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:199,1
    - Dst: check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:200,1
    - Dst: has_quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:202,1
    - Dst: quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:203,1
    - Dst: has_report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:205,1
    - Dst: report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' filter_config'
    argTypes:
    - FilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 208
    functionName: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - has_check_retries
    - network_fail_open
    - quota_timeout_ms
    - has_quota_retries
    - report_retries
    - quota_retries
    - has_sc_calling_config
    - check_timeout_ms
    - has_quota_timeout_ms
    - has_network_fail_open
    - has_report_timeout_ms
    - report_timeout_ms
    - has_check_timeout_ms
    - check_retries
    - has_report_retries
    - sc_calling_config
    linkageType: ''
    returnType: void
    signature: void ClientCache::initHttpRequestSetting(const FilterConfig& filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' call_stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::collectCallStatus(CallStatusStats& call_stats,\n
      \                                   const StatusCode& code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:223,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:229,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:230,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:231,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:235,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:236,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:240,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:241,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:253,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:254,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:258,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:261,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:263,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:270,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:271,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:276,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:279,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:281,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:288,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:289,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:293,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:297,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:299,1
    - Dst: std::unique_ptr<::google::service_control_client::PeriodicTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:305,1
    - Dst: EnvoyPeriodicTimer::EnvoyPeriodicTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:306,1
    - Dst: ::google::service_control_client::CreateServiceControlClient
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:309,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 9
    argNames:
    - ' config'
    - ' filter_config'
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    - sc_token_fn
    - quota_token_fn
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    - std::function<const std::string&()>
    - std::function<const std::string&()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 311
    functionName: espv2::envoy::http_filters::service_control::ClientCache::ClientCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - service_config_id
    - std::make_unique<HttpCallFactoryImpl>
    - service_control_uri
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - absl::StrCat
    - Envoy::Tracing::NullSpan::instance
    - std::unique_ptr<::google::service_control_client::PeriodicTimer>
    - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    - service_name
    - Status::code
    - ::google::service_control_client::CreateServiceControlClient
    - EnvoyPeriodicTimer::EnvoyPeriodicTimer
    - auto*::call
    - espv2::envoy::http_filters::service_control::create
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::ClientCache(\n    const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n    const FilterConfig& filter_config, const std::string& stats_prefix,\n
      \   Envoy::Stats::Scope& scope, Envoy::Upstream::ClusterManager& cm,\n    Envoy::TimeSource&
      time_source, Envoy::Event::Dispatcher& dispatcher,\n    std::function<const
      std::string&()> sc_token_fn,\n    std::function<const std::string&()> quota_token_fn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_consumer_blocked_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:316,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:321,1
    - Dst: filter_::denied_consumer_quota_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - error_type
    argTypes:
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - filter_::denied_consumer_quota_::inc
    - filter_::denied_consumer_blocked_::inc
    - filter_::denied_consumer_error_::inc
    linkageType: ''
    returnType: void
    signature: void ClientCache::collectScResponseErrorStats(ScResponseErrorType error_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:338,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:342,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:345,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:347,1
    - Dst: auto*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:348,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:354,1
    - Dst: Check
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:355,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ' request'
    - ' parent_span'
    - on_done
    argTypes:
    - CheckRequest
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 362
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    - createHttpCall
    - auto*::cancel
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - Status::code
    - auto*::call
    - systemTime
    - Check
    - log
    - CheckResponse::CheckResponse
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ClientCache::callCheck(const CheckRequest& request,\n                                  Envoy::Tracing::Span&
      parent_span,\n                                  CheckDoneFunc on_done)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:370,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:373,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:374,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:375,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:382,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:385,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:386,1
    - Dst: filter_::allowed_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:392,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:393,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:397,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: filter_::denied_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:401,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:402,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:405,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:409,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:410,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:412,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:415,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:417,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:426,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:428,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:429,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - CheckResponse*
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 449
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 1
    functionsReached:
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - Status::message
    - service_name
    - filter_::denied_control_plane_fault_::inc
    - Status::code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - ENVOY_LOG
    - filter_::allowed_control_plane_fault_::inc
    - OkStatus
    - Status::ok
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleCheckResponse(const Status& http_status,\n
      \                                     CheckResponse* response,\n                                      CheckDoneFunc
      on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:453,1
    - Dst: Quota
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:454,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request'
    - on_done
    argTypes:
    - AllocateQuotaRequest
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    - AllocateQuotaResponse::AllocateQuotaResponse
    - Quota
    linkageType: ''
    returnType: void
    signature: "void ClientCache::callQuota(const AllocateQuotaRequest& request,\n
      \                           QuotaDoneFunc on_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:470,1
    - Dst: espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:472,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:473,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:475,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:476,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:479,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:481,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - AllocateQuotaResponse*
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 486
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 1
    functionsReached:
    - espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - service_name
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleQuotaOnDone(const Status& http_status,\n                                    AllocateQuotaResponse*
      response,\n                                    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportResponse::ReportResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:489,1
    - Dst: Report
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' request'
    argTypes:
    - ReportRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - Report
    - ReportResponse::ReportResponse
    linkageType: ''
    returnType: void
    signature: void ClientCache::callReport(const ReportRequest& request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 3
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 4
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:159,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:160,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:161,1
    - Dst: Response*::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:163,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:164,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:166,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' status'
    - resp
    - ' body'
    argTypes:
    - Status
    - Response*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 2
    functionsReached:
    - ok
    - Response*::ParseFromString
    - ToString
    - ENVOY_LOG
    - Status
    - std::string
    linkageType: ''
    returnType: Status
    signature: "Status ClientCache::processScCallTransportStatus(const Status& status,\n
      \                                                Response* resp,\n                                                 const
      std::string& body)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:175,1
    - Dst: sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:185,1
    - Dst: has_network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:186,1
    - Dst: network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:187,1
    - Dst: has_check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:189,1
    - Dst: check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:190,1
    - Dst: has_quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:192,1
    - Dst: quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:193,1
    - Dst: has_report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:195,1
    - Dst: report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:196,1
    - Dst: has_check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:199,1
    - Dst: check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:200,1
    - Dst: has_quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:202,1
    - Dst: quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:203,1
    - Dst: has_report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:205,1
    - Dst: report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' filter_config'
    argTypes:
    - FilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 208
    functionName: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 1
    functionsReached:
    - has_check_retries
    - network_fail_open
    - quota_timeout_ms
    - has_quota_retries
    - report_retries
    - quota_retries
    - has_sc_calling_config
    - check_timeout_ms
    - has_quota_timeout_ms
    - has_network_fail_open
    - has_report_timeout_ms
    - report_timeout_ms
    - has_check_timeout_ms
    - check_retries
    - has_report_retries
    - sc_calling_config
    linkageType: ''
    returnType: void
    signature: void ClientCache::initHttpRequestSetting(const FilterConfig& filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' call_stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 2
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::collectCallStatus(CallStatusStats& call_stats,\n
      \                                   const StatusCode& code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:223,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:229,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:230,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:231,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:235,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:236,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:240,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:241,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:253,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:254,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:258,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:261,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:263,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:270,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:271,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:276,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:279,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:281,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:288,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:289,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:293,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:297,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:299,1
    - Dst: std::unique_ptr<::google::service_control_client::PeriodicTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:305,1
    - Dst: EnvoyPeriodicTimer::EnvoyPeriodicTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:306,1
    - Dst: ::google::service_control_client::CreateServiceControlClient
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:309,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 9
    argNames:
    - ' config'
    - ' filter_config'
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    - sc_token_fn
    - quota_token_fn
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    - std::function<const std::string&()>
    - std::function<const std::string&()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 311
    functionName: espv2::envoy::http_filters::service_control::ClientCache::ClientCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - service_config_id
    - std::make_unique<HttpCallFactoryImpl>
    - service_control_uri
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - absl::StrCat
    - Envoy::Tracing::NullSpan::instance
    - std::unique_ptr<::google::service_control_client::PeriodicTimer>
    - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    - service_name
    - Status::code
    - ::google::service_control_client::CreateServiceControlClient
    - EnvoyPeriodicTimer::EnvoyPeriodicTimer
    - auto*::call
    - espv2::envoy::http_filters::service_control::create
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::ClientCache(\n    const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n    const FilterConfig& filter_config, const std::string& stats_prefix,\n
      \   Envoy::Stats::Scope& scope, Envoy::Upstream::ClusterManager& cm,\n    Envoy::TimeSource&
      time_source, Envoy::Event::Dispatcher& dispatcher,\n    std::function<const
      std::string&()> sc_token_fn,\n    std::function<const std::string&()> quota_token_fn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_consumer_blocked_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:316,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:321,1
    - Dst: filter_::denied_consumer_quota_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - error_type
    argTypes:
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 2
    functionsReached:
    - filter_::denied_consumer_quota_::inc
    - filter_::denied_consumer_blocked_::inc
    - filter_::denied_consumer_error_::inc
    linkageType: ''
    returnType: void
    signature: void ClientCache::collectScResponseErrorStats(ScResponseErrorType error_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:338,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:342,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:345,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:347,1
    - Dst: auto*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:348,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:354,1
    - Dst: Check
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:355,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ' request'
    - ' parent_span'
    - on_done
    argTypes:
    - CheckRequest
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 362
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    - createHttpCall
    - auto*::cancel
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - Status::code
    - auto*::call
    - systemTime
    - Check
    - log
    - CheckResponse::CheckResponse
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ClientCache::callCheck(const CheckRequest& request,\n                                  Envoy::Tracing::Span&
      parent_span,\n                                  CheckDoneFunc on_done)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:370,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:373,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:374,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:375,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:382,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:385,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:386,1
    - Dst: filter_::allowed_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:392,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:393,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:397,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: filter_::denied_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:401,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:402,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:405,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:409,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:410,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:412,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:415,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:417,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:426,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:428,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:429,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - CheckResponse*
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 449
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 2
    functionsReached:
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - Status::message
    - service_name
    - filter_::denied_control_plane_fault_::inc
    - Status::code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - ENVOY_LOG
    - filter_::allowed_control_plane_fault_::inc
    - OkStatus
    - Status::ok
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleCheckResponse(const Status& http_status,\n
      \                                     CheckResponse* response,\n                                      CheckDoneFunc
      on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:453,1
    - Dst: Quota
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:454,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request'
    - on_done
    argTypes:
    - AllocateQuotaRequest
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    - AllocateQuotaResponse::AllocateQuotaResponse
    - Quota
    linkageType: ''
    returnType: void
    signature: "void ClientCache::callQuota(const AllocateQuotaRequest& request,\n
      \                           QuotaDoneFunc on_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:470,1
    - Dst: espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:472,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:473,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:475,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:476,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:479,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:481,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - AllocateQuotaResponse*
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 486
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 2
    functionsReached:
    - espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - service_name
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleQuotaOnDone(const Status& http_status,\n                                    AllocateQuotaResponse*
      response,\n                                    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportResponse::ReportResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:489,1
    - Dst: Report
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' request'
    argTypes:
    - ReportRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - Report
    - ReportResponse::ReportResponse
    linkageType: ''
    returnType: void
    signature: void ClientCache::callReport(const ReportRequest& request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 5
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 6
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:159,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:160,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:161,1
    - Dst: Response*::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:163,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:164,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:166,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' status'
    - resp
    - ' body'
    argTypes:
    - Status
    - Response*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 4
    functionsReached:
    - ok
    - Response*::ParseFromString
    - ToString
    - ENVOY_LOG
    - Status
    - std::string
    linkageType: ''
    returnType: Status
    signature: "Status ClientCache::processScCallTransportStatus(const Status& status,\n
      \                                                Response* resp,\n                                                 const
      std::string& body)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:175,1
    - Dst: sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:185,1
    - Dst: has_network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:186,1
    - Dst: network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:187,1
    - Dst: has_check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:189,1
    - Dst: check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:190,1
    - Dst: has_quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:192,1
    - Dst: quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:193,1
    - Dst: has_report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:195,1
    - Dst: report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:196,1
    - Dst: has_check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:199,1
    - Dst: check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:200,1
    - Dst: has_quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:202,1
    - Dst: quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:203,1
    - Dst: has_report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:205,1
    - Dst: report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' filter_config'
    argTypes:
    - FilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 208
    functionName: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 2
    functionsReached:
    - has_check_retries
    - network_fail_open
    - quota_timeout_ms
    - has_quota_retries
    - report_retries
    - quota_retries
    - has_sc_calling_config
    - check_timeout_ms
    - has_quota_timeout_ms
    - has_network_fail_open
    - has_report_timeout_ms
    - report_timeout_ms
    - has_check_timeout_ms
    - check_retries
    - has_report_retries
    - sc_calling_config
    linkageType: ''
    returnType: void
    signature: void ClientCache::initHttpRequestSetting(const FilterConfig& filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' call_stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 4
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::collectCallStatus(CallStatusStats& call_stats,\n
      \                                   const StatusCode& code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:223,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:229,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:230,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:231,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:235,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:236,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:240,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:241,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:253,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:254,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:258,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:261,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:263,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:270,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:271,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:276,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:279,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:281,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:288,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:289,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:293,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:297,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:299,1
    - Dst: std::unique_ptr<::google::service_control_client::PeriodicTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:305,1
    - Dst: EnvoyPeriodicTimer::EnvoyPeriodicTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:306,1
    - Dst: ::google::service_control_client::CreateServiceControlClient
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:309,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 9
    argNames:
    - ' config'
    - ' filter_config'
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    - sc_token_fn
    - quota_token_fn
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    - std::function<const std::string&()>
    - std::function<const std::string&()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 311
    functionName: espv2::envoy::http_filters::service_control::ClientCache::ClientCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - service_config_id
    - std::make_unique<HttpCallFactoryImpl>
    - service_control_uri
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - absl::StrCat
    - Envoy::Tracing::NullSpan::instance
    - std::unique_ptr<::google::service_control_client::PeriodicTimer>
    - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    - service_name
    - Status::code
    - ::google::service_control_client::CreateServiceControlClient
    - EnvoyPeriodicTimer::EnvoyPeriodicTimer
    - auto*::call
    - espv2::envoy::http_filters::service_control::create
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::ClientCache(\n    const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n    const FilterConfig& filter_config, const std::string& stats_prefix,\n
      \   Envoy::Stats::Scope& scope, Envoy::Upstream::ClusterManager& cm,\n    Envoy::TimeSource&
      time_source, Envoy::Event::Dispatcher& dispatcher,\n    std::function<const
      std::string&()> sc_token_fn,\n    std::function<const std::string&()> quota_token_fn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_consumer_blocked_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:316,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:321,1
    - Dst: filter_::denied_consumer_quota_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - error_type
    argTypes:
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 4
    functionsReached:
    - filter_::denied_consumer_quota_::inc
    - filter_::denied_consumer_blocked_::inc
    - filter_::denied_consumer_error_::inc
    linkageType: ''
    returnType: void
    signature: void ClientCache::collectScResponseErrorStats(ScResponseErrorType error_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:338,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:342,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:345,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:347,1
    - Dst: auto*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:348,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:354,1
    - Dst: Check
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:355,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ' request'
    - ' parent_span'
    - on_done
    argTypes:
    - CheckRequest
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 362
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    - createHttpCall
    - auto*::cancel
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - Status::code
    - auto*::call
    - systemTime
    - Check
    - log
    - CheckResponse::CheckResponse
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ClientCache::callCheck(const CheckRequest& request,\n                                  Envoy::Tracing::Span&
      parent_span,\n                                  CheckDoneFunc on_done)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:370,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:373,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:374,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:375,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:382,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:385,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:386,1
    - Dst: filter_::allowed_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:392,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:393,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:397,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: filter_::denied_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:401,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:402,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:405,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:409,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:410,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:412,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:415,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:417,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:426,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:428,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:429,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - CheckResponse*
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 449
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 3
    functionsReached:
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - Status::message
    - service_name
    - filter_::denied_control_plane_fault_::inc
    - Status::code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - ENVOY_LOG
    - filter_::allowed_control_plane_fault_::inc
    - OkStatus
    - Status::ok
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleCheckResponse(const Status& http_status,\n
      \                                     CheckResponse* response,\n                                      CheckDoneFunc
      on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:453,1
    - Dst: Quota
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:454,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request'
    - on_done
    argTypes:
    - AllocateQuotaRequest
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    - AllocateQuotaResponse::AllocateQuotaResponse
    - Quota
    linkageType: ''
    returnType: void
    signature: "void ClientCache::callQuota(const AllocateQuotaRequest& request,\n
      \                           QuotaDoneFunc on_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:470,1
    - Dst: espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:472,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:473,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:475,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:476,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:479,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:481,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - AllocateQuotaResponse*
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 486
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 3
    functionsReached:
    - espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - service_name
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleQuotaOnDone(const Status& http_status,\n                                    AllocateQuotaResponse*
      response,\n                                    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportResponse::ReportResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:489,1
    - Dst: Report
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' request'
    argTypes:
    - ReportRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - Report
    - ReportResponse::ReportResponse
    linkageType: ''
    returnType: void
    signature: void ClientCache::callReport(const ReportRequest& request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 7
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 8
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:159,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:160,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:161,1
    - Dst: Response*::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:163,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:164,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:166,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' status'
    - resp
    - ' body'
    argTypes:
    - Status
    - Response*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 6
    functionsReached:
    - ok
    - Response*::ParseFromString
    - ToString
    - ENVOY_LOG
    - Status
    - std::string
    linkageType: ''
    returnType: Status
    signature: "Status ClientCache::processScCallTransportStatus(const Status& status,\n
      \                                                Response* resp,\n                                                 const
      std::string& body)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:175,1
    - Dst: sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:185,1
    - Dst: has_network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:186,1
    - Dst: network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:187,1
    - Dst: has_check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:189,1
    - Dst: check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:190,1
    - Dst: has_quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:192,1
    - Dst: quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:193,1
    - Dst: has_report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:195,1
    - Dst: report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:196,1
    - Dst: has_check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:199,1
    - Dst: check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:200,1
    - Dst: has_quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:202,1
    - Dst: quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:203,1
    - Dst: has_report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:205,1
    - Dst: report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' filter_config'
    argTypes:
    - FilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 208
    functionName: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 3
    functionsReached:
    - has_check_retries
    - network_fail_open
    - quota_timeout_ms
    - has_quota_retries
    - report_retries
    - quota_retries
    - has_sc_calling_config
    - check_timeout_ms
    - has_quota_timeout_ms
    - has_network_fail_open
    - has_report_timeout_ms
    - report_timeout_ms
    - has_check_timeout_ms
    - check_retries
    - has_report_retries
    - sc_calling_config
    linkageType: ''
    returnType: void
    signature: void ClientCache::initHttpRequestSetting(const FilterConfig& filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' call_stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 6
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::collectCallStatus(CallStatusStats& call_stats,\n
      \                                   const StatusCode& code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:223,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:229,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:230,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:231,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:235,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:236,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:240,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:241,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:253,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:254,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:258,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:261,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:263,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:270,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:271,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:276,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:279,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:281,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:288,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:289,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:293,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:297,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:299,1
    - Dst: std::unique_ptr<::google::service_control_client::PeriodicTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:305,1
    - Dst: EnvoyPeriodicTimer::EnvoyPeriodicTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:306,1
    - Dst: ::google::service_control_client::CreateServiceControlClient
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:309,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 9
    argNames:
    - ' config'
    - ' filter_config'
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    - sc_token_fn
    - quota_token_fn
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    - std::function<const std::string&()>
    - std::function<const std::string&()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 311
    functionName: espv2::envoy::http_filters::service_control::ClientCache::ClientCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - service_config_id
    - std::make_unique<HttpCallFactoryImpl>
    - service_control_uri
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - absl::StrCat
    - Envoy::Tracing::NullSpan::instance
    - std::unique_ptr<::google::service_control_client::PeriodicTimer>
    - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    - service_name
    - Status::code
    - ::google::service_control_client::CreateServiceControlClient
    - EnvoyPeriodicTimer::EnvoyPeriodicTimer
    - auto*::call
    - espv2::envoy::http_filters::service_control::create
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::ClientCache(\n    const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n    const FilterConfig& filter_config, const std::string& stats_prefix,\n
      \   Envoy::Stats::Scope& scope, Envoy::Upstream::ClusterManager& cm,\n    Envoy::TimeSource&
      time_source, Envoy::Event::Dispatcher& dispatcher,\n    std::function<const
      std::string&()> sc_token_fn,\n    std::function<const std::string&()> quota_token_fn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_consumer_blocked_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:316,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:321,1
    - Dst: filter_::denied_consumer_quota_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - error_type
    argTypes:
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 6
    functionsReached:
    - filter_::denied_consumer_quota_::inc
    - filter_::denied_consumer_blocked_::inc
    - filter_::denied_consumer_error_::inc
    linkageType: ''
    returnType: void
    signature: void ClientCache::collectScResponseErrorStats(ScResponseErrorType error_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:338,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:342,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:345,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:347,1
    - Dst: auto*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:348,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:354,1
    - Dst: Check
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:355,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ' request'
    - ' parent_span'
    - on_done
    argTypes:
    - CheckRequest
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 362
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    - createHttpCall
    - auto*::cancel
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - Status::code
    - auto*::call
    - systemTime
    - Check
    - log
    - CheckResponse::CheckResponse
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ClientCache::callCheck(const CheckRequest& request,\n                                  Envoy::Tracing::Span&
      parent_span,\n                                  CheckDoneFunc on_done)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:370,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:373,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:374,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:375,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:382,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:385,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:386,1
    - Dst: filter_::allowed_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:392,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:393,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:397,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: filter_::denied_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:401,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:402,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:405,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:409,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:410,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:412,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:415,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:417,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:426,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:428,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:429,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - CheckResponse*
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 449
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 4
    functionsReached:
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - Status::message
    - service_name
    - filter_::denied_control_plane_fault_::inc
    - Status::code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - ENVOY_LOG
    - filter_::allowed_control_plane_fault_::inc
    - OkStatus
    - Status::ok
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleCheckResponse(const Status& http_status,\n
      \                                     CheckResponse* response,\n                                      CheckDoneFunc
      on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:453,1
    - Dst: Quota
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:454,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request'
    - on_done
    argTypes:
    - AllocateQuotaRequest
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    - AllocateQuotaResponse::AllocateQuotaResponse
    - Quota
    linkageType: ''
    returnType: void
    signature: "void ClientCache::callQuota(const AllocateQuotaRequest& request,\n
      \                           QuotaDoneFunc on_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:470,1
    - Dst: espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:472,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:473,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:475,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:476,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:479,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:481,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - AllocateQuotaResponse*
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 486
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 4
    functionsReached:
    - espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - service_name
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleQuotaOnDone(const Status& http_status,\n                                    AllocateQuotaResponse*
      response,\n                                    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportResponse::ReportResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:489,1
    - Dst: Report
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' request'
    argTypes:
    - ReportRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - Report
    - ReportResponse::ReportResponse
    linkageType: ''
    returnType: void
    signature: void ClientCache::callReport(const ReportRequest& request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 9
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 10
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:159,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:160,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:161,1
    - Dst: Response*::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:163,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:164,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:166,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' status'
    - resp
    - ' body'
    argTypes:
    - Status
    - Response*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 8
    functionsReached:
    - ok
    - Response*::ParseFromString
    - ToString
    - ENVOY_LOG
    - Status
    - std::string
    linkageType: ''
    returnType: Status
    signature: "Status ClientCache::processScCallTransportStatus(const Status& status,\n
      \                                                Response* resp,\n                                                 const
      std::string& body)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:175,1
    - Dst: sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:185,1
    - Dst: has_network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:186,1
    - Dst: network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:187,1
    - Dst: has_check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:189,1
    - Dst: check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:190,1
    - Dst: has_quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:192,1
    - Dst: quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:193,1
    - Dst: has_report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:195,1
    - Dst: report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:196,1
    - Dst: has_check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:199,1
    - Dst: check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:200,1
    - Dst: has_quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:202,1
    - Dst: quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:203,1
    - Dst: has_report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:205,1
    - Dst: report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' filter_config'
    argTypes:
    - FilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 208
    functionName: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 4
    functionsReached:
    - has_check_retries
    - network_fail_open
    - quota_timeout_ms
    - has_quota_retries
    - report_retries
    - quota_retries
    - has_sc_calling_config
    - check_timeout_ms
    - has_quota_timeout_ms
    - has_network_fail_open
    - has_report_timeout_ms
    - report_timeout_ms
    - has_check_timeout_ms
    - check_retries
    - has_report_retries
    - sc_calling_config
    linkageType: ''
    returnType: void
    signature: void ClientCache::initHttpRequestSetting(const FilterConfig& filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' call_stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 8
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::collectCallStatus(CallStatusStats& call_stats,\n
      \                                   const StatusCode& code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:223,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:229,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:230,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:231,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:235,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:236,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:240,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:241,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:253,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:254,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:258,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:261,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:263,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:270,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:271,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:276,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:279,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:281,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:288,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:289,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:293,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:297,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:299,1
    - Dst: std::unique_ptr<::google::service_control_client::PeriodicTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:305,1
    - Dst: EnvoyPeriodicTimer::EnvoyPeriodicTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:306,1
    - Dst: ::google::service_control_client::CreateServiceControlClient
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:309,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 9
    argNames:
    - ' config'
    - ' filter_config'
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    - sc_token_fn
    - quota_token_fn
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    - std::function<const std::string&()>
    - std::function<const std::string&()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 311
    functionName: espv2::envoy::http_filters::service_control::ClientCache::ClientCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - service_config_id
    - std::make_unique<HttpCallFactoryImpl>
    - service_control_uri
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - absl::StrCat
    - Envoy::Tracing::NullSpan::instance
    - std::unique_ptr<::google::service_control_client::PeriodicTimer>
    - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    - service_name
    - Status::code
    - ::google::service_control_client::CreateServiceControlClient
    - EnvoyPeriodicTimer::EnvoyPeriodicTimer
    - auto*::call
    - espv2::envoy::http_filters::service_control::create
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::ClientCache(\n    const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n    const FilterConfig& filter_config, const std::string& stats_prefix,\n
      \   Envoy::Stats::Scope& scope, Envoy::Upstream::ClusterManager& cm,\n    Envoy::TimeSource&
      time_source, Envoy::Event::Dispatcher& dispatcher,\n    std::function<const
      std::string&()> sc_token_fn,\n    std::function<const std::string&()> quota_token_fn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_consumer_blocked_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:316,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:321,1
    - Dst: filter_::denied_consumer_quota_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - error_type
    argTypes:
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 8
    functionsReached:
    - filter_::denied_consumer_quota_::inc
    - filter_::denied_consumer_blocked_::inc
    - filter_::denied_consumer_error_::inc
    linkageType: ''
    returnType: void
    signature: void ClientCache::collectScResponseErrorStats(ScResponseErrorType error_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:338,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:342,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:345,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:347,1
    - Dst: auto*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:348,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:354,1
    - Dst: Check
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:355,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ' request'
    - ' parent_span'
    - on_done
    argTypes:
    - CheckRequest
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 362
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    - createHttpCall
    - auto*::cancel
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - Status::code
    - auto*::call
    - systemTime
    - Check
    - log
    - CheckResponse::CheckResponse
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ClientCache::callCheck(const CheckRequest& request,\n                                  Envoy::Tracing::Span&
      parent_span,\n                                  CheckDoneFunc on_done)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:370,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:373,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:374,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:375,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:382,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:385,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:386,1
    - Dst: filter_::allowed_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:392,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:393,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:397,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: filter_::denied_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:401,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:402,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:405,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:409,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:410,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:412,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:415,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:417,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:426,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:428,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:429,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - CheckResponse*
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 449
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 5
    functionsReached:
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - Status::message
    - service_name
    - filter_::denied_control_plane_fault_::inc
    - Status::code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - ENVOY_LOG
    - filter_::allowed_control_plane_fault_::inc
    - OkStatus
    - Status::ok
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleCheckResponse(const Status& http_status,\n
      \                                     CheckResponse* response,\n                                      CheckDoneFunc
      on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:453,1
    - Dst: Quota
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:454,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request'
    - on_done
    argTypes:
    - AllocateQuotaRequest
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    - AllocateQuotaResponse::AllocateQuotaResponse
    - Quota
    linkageType: ''
    returnType: void
    signature: "void ClientCache::callQuota(const AllocateQuotaRequest& request,\n
      \                           QuotaDoneFunc on_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:470,1
    - Dst: espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:472,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:473,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:475,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:476,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:479,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:481,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - AllocateQuotaResponse*
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 486
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 5
    functionsReached:
    - espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - service_name
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleQuotaOnDone(const Status& http_status,\n                                    AllocateQuotaResponse*
      response,\n                                    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportResponse::ReportResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:489,1
    - Dst: Report
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' request'
    argTypes:
    - ReportRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - Report
    - ReportResponse::ReportResponse
    linkageType: ''
    returnType: void
    signature: void ClientCache::callReport(const ReportRequest& request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 11
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 12
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:159,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:160,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:161,1
    - Dst: Response*::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:163,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:164,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:166,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' status'
    - resp
    - ' body'
    argTypes:
    - Status
    - Response*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 10
    functionsReached:
    - ok
    - Response*::ParseFromString
    - ToString
    - ENVOY_LOG
    - Status
    - std::string
    linkageType: ''
    returnType: Status
    signature: "Status ClientCache::processScCallTransportStatus(const Status& status,\n
      \                                                Response* resp,\n                                                 const
      std::string& body)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:175,1
    - Dst: sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:185,1
    - Dst: has_network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:186,1
    - Dst: network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:187,1
    - Dst: has_check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:189,1
    - Dst: check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:190,1
    - Dst: has_quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:192,1
    - Dst: quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:193,1
    - Dst: has_report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:195,1
    - Dst: report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:196,1
    - Dst: has_check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:199,1
    - Dst: check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:200,1
    - Dst: has_quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:202,1
    - Dst: quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:203,1
    - Dst: has_report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:205,1
    - Dst: report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' filter_config'
    argTypes:
    - FilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 208
    functionName: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 5
    functionsReached:
    - has_check_retries
    - network_fail_open
    - quota_timeout_ms
    - has_quota_retries
    - report_retries
    - quota_retries
    - has_sc_calling_config
    - check_timeout_ms
    - has_quota_timeout_ms
    - has_network_fail_open
    - has_report_timeout_ms
    - report_timeout_ms
    - has_check_timeout_ms
    - check_retries
    - has_report_retries
    - sc_calling_config
    linkageType: ''
    returnType: void
    signature: void ClientCache::initHttpRequestSetting(const FilterConfig& filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' call_stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 10
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::collectCallStatus(CallStatusStats& call_stats,\n
      \                                   const StatusCode& code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:223,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:229,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:230,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:231,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:235,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:236,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:240,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:241,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:253,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:254,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:258,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:261,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:263,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:270,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:271,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:276,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:279,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:281,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:288,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:289,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:293,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:297,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:299,1
    - Dst: std::unique_ptr<::google::service_control_client::PeriodicTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:305,1
    - Dst: EnvoyPeriodicTimer::EnvoyPeriodicTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:306,1
    - Dst: ::google::service_control_client::CreateServiceControlClient
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:309,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 9
    argNames:
    - ' config'
    - ' filter_config'
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    - sc_token_fn
    - quota_token_fn
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    - std::function<const std::string&()>
    - std::function<const std::string&()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 311
    functionName: espv2::envoy::http_filters::service_control::ClientCache::ClientCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - service_config_id
    - std::make_unique<HttpCallFactoryImpl>
    - service_control_uri
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - absl::StrCat
    - Envoy::Tracing::NullSpan::instance
    - std::unique_ptr<::google::service_control_client::PeriodicTimer>
    - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    - service_name
    - Status::code
    - ::google::service_control_client::CreateServiceControlClient
    - EnvoyPeriodicTimer::EnvoyPeriodicTimer
    - auto*::call
    - espv2::envoy::http_filters::service_control::create
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::ClientCache(\n    const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n    const FilterConfig& filter_config, const std::string& stats_prefix,\n
      \   Envoy::Stats::Scope& scope, Envoy::Upstream::ClusterManager& cm,\n    Envoy::TimeSource&
      time_source, Envoy::Event::Dispatcher& dispatcher,\n    std::function<const
      std::string&()> sc_token_fn,\n    std::function<const std::string&()> quota_token_fn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_consumer_blocked_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:316,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:321,1
    - Dst: filter_::denied_consumer_quota_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - error_type
    argTypes:
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 10
    functionsReached:
    - filter_::denied_consumer_quota_::inc
    - filter_::denied_consumer_blocked_::inc
    - filter_::denied_consumer_error_::inc
    linkageType: ''
    returnType: void
    signature: void ClientCache::collectScResponseErrorStats(ScResponseErrorType error_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:338,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:342,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:345,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:347,1
    - Dst: auto*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:348,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:354,1
    - Dst: Check
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:355,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ' request'
    - ' parent_span'
    - on_done
    argTypes:
    - CheckRequest
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 362
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    - createHttpCall
    - auto*::cancel
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - Status::code
    - auto*::call
    - systemTime
    - Check
    - log
    - CheckResponse::CheckResponse
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ClientCache::callCheck(const CheckRequest& request,\n                                  Envoy::Tracing::Span&
      parent_span,\n                                  CheckDoneFunc on_done)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:370,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:373,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:374,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:375,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:382,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:385,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:386,1
    - Dst: filter_::allowed_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:392,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:393,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:397,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: filter_::denied_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:401,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:402,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:405,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:409,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:410,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:412,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:415,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:417,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:426,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:428,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:429,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - CheckResponse*
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 449
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 6
    functionsReached:
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - Status::message
    - service_name
    - filter_::denied_control_plane_fault_::inc
    - Status::code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - ENVOY_LOG
    - filter_::allowed_control_plane_fault_::inc
    - OkStatus
    - Status::ok
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleCheckResponse(const Status& http_status,\n
      \                                     CheckResponse* response,\n                                      CheckDoneFunc
      on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:453,1
    - Dst: Quota
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:454,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request'
    - on_done
    argTypes:
    - AllocateQuotaRequest
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    - AllocateQuotaResponse::AllocateQuotaResponse
    - Quota
    linkageType: ''
    returnType: void
    signature: "void ClientCache::callQuota(const AllocateQuotaRequest& request,\n
      \                           QuotaDoneFunc on_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:470,1
    - Dst: espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:472,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:473,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:475,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:476,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:479,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:481,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - AllocateQuotaResponse*
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 486
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 6
    functionsReached:
    - espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - service_name
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleQuotaOnDone(const Status& http_status,\n                                    AllocateQuotaResponse*
      response,\n                                    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportResponse::ReportResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:489,1
    - Dst: Report
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' request'
    argTypes:
    - ReportRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - Report
    - ReportResponse::ReportResponse
    linkageType: ''
    returnType: void
    signature: void ClientCache::callReport(const ReportRequest& request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 13
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 14
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:159,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:160,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:161,1
    - Dst: Response*::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:163,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:164,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:166,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' status'
    - resp
    - ' body'
    argTypes:
    - Status
    - Response*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 12
    functionsReached:
    - ok
    - Response*::ParseFromString
    - ToString
    - ENVOY_LOG
    - Status
    - std::string
    linkageType: ''
    returnType: Status
    signature: "Status ClientCache::processScCallTransportStatus(const Status& status,\n
      \                                                Response* resp,\n                                                 const
      std::string& body)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:175,1
    - Dst: sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:185,1
    - Dst: has_network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:186,1
    - Dst: network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:187,1
    - Dst: has_check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:189,1
    - Dst: check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:190,1
    - Dst: has_quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:192,1
    - Dst: quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:193,1
    - Dst: has_report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:195,1
    - Dst: report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:196,1
    - Dst: has_check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:199,1
    - Dst: check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:200,1
    - Dst: has_quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:202,1
    - Dst: quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:203,1
    - Dst: has_report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:205,1
    - Dst: report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' filter_config'
    argTypes:
    - FilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 208
    functionName: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 6
    functionsReached:
    - has_check_retries
    - network_fail_open
    - quota_timeout_ms
    - has_quota_retries
    - report_retries
    - quota_retries
    - has_sc_calling_config
    - check_timeout_ms
    - has_quota_timeout_ms
    - has_network_fail_open
    - has_report_timeout_ms
    - report_timeout_ms
    - has_check_timeout_ms
    - check_retries
    - has_report_retries
    - sc_calling_config
    linkageType: ''
    returnType: void
    signature: void ClientCache::initHttpRequestSetting(const FilterConfig& filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' call_stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 12
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::collectCallStatus(CallStatusStats& call_stats,\n
      \                                   const StatusCode& code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:223,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:229,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:230,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:231,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:235,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:236,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:240,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:241,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:253,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:254,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:258,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:261,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:263,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:270,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:271,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:276,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:279,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:281,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:288,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:289,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:293,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:297,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:299,1
    - Dst: std::unique_ptr<::google::service_control_client::PeriodicTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:305,1
    - Dst: EnvoyPeriodicTimer::EnvoyPeriodicTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:306,1
    - Dst: ::google::service_control_client::CreateServiceControlClient
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:309,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 9
    argNames:
    - ' config'
    - ' filter_config'
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    - sc_token_fn
    - quota_token_fn
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    - std::function<const std::string&()>
    - std::function<const std::string&()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 311
    functionName: espv2::envoy::http_filters::service_control::ClientCache::ClientCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - service_config_id
    - std::make_unique<HttpCallFactoryImpl>
    - service_control_uri
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - absl::StrCat
    - Envoy::Tracing::NullSpan::instance
    - std::unique_ptr<::google::service_control_client::PeriodicTimer>
    - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    - service_name
    - Status::code
    - ::google::service_control_client::CreateServiceControlClient
    - EnvoyPeriodicTimer::EnvoyPeriodicTimer
    - auto*::call
    - espv2::envoy::http_filters::service_control::create
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::ClientCache(\n    const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n    const FilterConfig& filter_config, const std::string& stats_prefix,\n
      \   Envoy::Stats::Scope& scope, Envoy::Upstream::ClusterManager& cm,\n    Envoy::TimeSource&
      time_source, Envoy::Event::Dispatcher& dispatcher,\n    std::function<const
      std::string&()> sc_token_fn,\n    std::function<const std::string&()> quota_token_fn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_consumer_blocked_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:316,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:321,1
    - Dst: filter_::denied_consumer_quota_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - error_type
    argTypes:
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 12
    functionsReached:
    - filter_::denied_consumer_quota_::inc
    - filter_::denied_consumer_blocked_::inc
    - filter_::denied_consumer_error_::inc
    linkageType: ''
    returnType: void
    signature: void ClientCache::collectScResponseErrorStats(ScResponseErrorType error_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:338,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:342,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:345,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:347,1
    - Dst: auto*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:348,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:354,1
    - Dst: Check
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:355,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ' request'
    - ' parent_span'
    - on_done
    argTypes:
    - CheckRequest
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 362
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    - createHttpCall
    - auto*::cancel
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - Status::code
    - auto*::call
    - systemTime
    - Check
    - log
    - CheckResponse::CheckResponse
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ClientCache::callCheck(const CheckRequest& request,\n                                  Envoy::Tracing::Span&
      parent_span,\n                                  CheckDoneFunc on_done)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:370,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:373,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:374,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:375,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:382,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:385,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:386,1
    - Dst: filter_::allowed_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:392,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:393,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:397,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: filter_::denied_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:401,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:402,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:405,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:409,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:410,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:412,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:415,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:417,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:426,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:428,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:429,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - CheckResponse*
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 449
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 7
    functionsReached:
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - Status::message
    - service_name
    - filter_::denied_control_plane_fault_::inc
    - Status::code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - ENVOY_LOG
    - filter_::allowed_control_plane_fault_::inc
    - OkStatus
    - Status::ok
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleCheckResponse(const Status& http_status,\n
      \                                     CheckResponse* response,\n                                      CheckDoneFunc
      on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:453,1
    - Dst: Quota
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:454,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request'
    - on_done
    argTypes:
    - AllocateQuotaRequest
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    - AllocateQuotaResponse::AllocateQuotaResponse
    - Quota
    linkageType: ''
    returnType: void
    signature: "void ClientCache::callQuota(const AllocateQuotaRequest& request,\n
      \                           QuotaDoneFunc on_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:470,1
    - Dst: espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:472,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:473,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:475,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:476,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:479,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:481,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - AllocateQuotaResponse*
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 486
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 7
    functionsReached:
    - espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - service_name
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleQuotaOnDone(const Status& http_status,\n                                    AllocateQuotaResponse*
      response,\n                                    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportResponse::ReportResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:489,1
    - Dst: Report
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' request'
    argTypes:
    - ReportRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - Report
    - ReportResponse::ReportResponse
    linkageType: ''
    returnType: void
    signature: void ClientCache::callReport(const ReportRequest& request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 15
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 16
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:159,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:160,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:161,1
    - Dst: Response*::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:163,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:164,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:166,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' status'
    - resp
    - ' body'
    argTypes:
    - Status
    - Response*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 14
    functionsReached:
    - ok
    - Response*::ParseFromString
    - ToString
    - ENVOY_LOG
    - Status
    - std::string
    linkageType: ''
    returnType: Status
    signature: "Status ClientCache::processScCallTransportStatus(const Status& status,\n
      \                                                Response* resp,\n                                                 const
      std::string& body)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:175,1
    - Dst: sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:185,1
    - Dst: has_network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:186,1
    - Dst: network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:187,1
    - Dst: has_check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:189,1
    - Dst: check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:190,1
    - Dst: has_quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:192,1
    - Dst: quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:193,1
    - Dst: has_report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:195,1
    - Dst: report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:196,1
    - Dst: has_check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:199,1
    - Dst: check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:200,1
    - Dst: has_quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:202,1
    - Dst: quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:203,1
    - Dst: has_report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:205,1
    - Dst: report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' filter_config'
    argTypes:
    - FilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 208
    functionName: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 7
    functionsReached:
    - has_check_retries
    - network_fail_open
    - quota_timeout_ms
    - has_quota_retries
    - report_retries
    - quota_retries
    - has_sc_calling_config
    - check_timeout_ms
    - has_quota_timeout_ms
    - has_network_fail_open
    - has_report_timeout_ms
    - report_timeout_ms
    - has_check_timeout_ms
    - check_retries
    - has_report_retries
    - sc_calling_config
    linkageType: ''
    returnType: void
    signature: void ClientCache::initHttpRequestSetting(const FilterConfig& filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' call_stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 14
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::collectCallStatus(CallStatusStats& call_stats,\n
      \                                   const StatusCode& code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:223,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:229,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:230,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:231,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:235,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:236,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:240,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:241,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:253,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:254,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:258,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:261,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:263,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:270,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:271,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:276,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:279,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:281,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:288,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:289,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:293,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:297,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:299,1
    - Dst: std::unique_ptr<::google::service_control_client::PeriodicTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:305,1
    - Dst: EnvoyPeriodicTimer::EnvoyPeriodicTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:306,1
    - Dst: ::google::service_control_client::CreateServiceControlClient
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:309,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 9
    argNames:
    - ' config'
    - ' filter_config'
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    - sc_token_fn
    - quota_token_fn
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    - std::function<const std::string&()>
    - std::function<const std::string&()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 311
    functionName: espv2::envoy::http_filters::service_control::ClientCache::ClientCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - service_config_id
    - std::make_unique<HttpCallFactoryImpl>
    - service_control_uri
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - absl::StrCat
    - Envoy::Tracing::NullSpan::instance
    - std::unique_ptr<::google::service_control_client::PeriodicTimer>
    - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    - service_name
    - Status::code
    - ::google::service_control_client::CreateServiceControlClient
    - EnvoyPeriodicTimer::EnvoyPeriodicTimer
    - auto*::call
    - espv2::envoy::http_filters::service_control::create
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::ClientCache(\n    const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n    const FilterConfig& filter_config, const std::string& stats_prefix,\n
      \   Envoy::Stats::Scope& scope, Envoy::Upstream::ClusterManager& cm,\n    Envoy::TimeSource&
      time_source, Envoy::Event::Dispatcher& dispatcher,\n    std::function<const
      std::string&()> sc_token_fn,\n    std::function<const std::string&()> quota_token_fn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_consumer_blocked_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:316,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:321,1
    - Dst: filter_::denied_consumer_quota_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - error_type
    argTypes:
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 14
    functionsReached:
    - filter_::denied_consumer_quota_::inc
    - filter_::denied_consumer_blocked_::inc
    - filter_::denied_consumer_error_::inc
    linkageType: ''
    returnType: void
    signature: void ClientCache::collectScResponseErrorStats(ScResponseErrorType error_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:338,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:342,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:345,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:347,1
    - Dst: auto*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:348,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:354,1
    - Dst: Check
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:355,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ' request'
    - ' parent_span'
    - on_done
    argTypes:
    - CheckRequest
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 362
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    - createHttpCall
    - auto*::cancel
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - Status::code
    - auto*::call
    - systemTime
    - Check
    - log
    - CheckResponse::CheckResponse
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ClientCache::callCheck(const CheckRequest& request,\n                                  Envoy::Tracing::Span&
      parent_span,\n                                  CheckDoneFunc on_done)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:370,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:373,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:374,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:375,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:382,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:385,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:386,1
    - Dst: filter_::allowed_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:392,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:393,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:397,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: filter_::denied_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:401,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:402,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:405,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:409,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:410,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:412,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:415,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:417,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:426,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:428,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:429,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - CheckResponse*
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 449
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 8
    functionsReached:
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - Status::message
    - service_name
    - filter_::denied_control_plane_fault_::inc
    - Status::code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - ENVOY_LOG
    - filter_::allowed_control_plane_fault_::inc
    - OkStatus
    - Status::ok
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleCheckResponse(const Status& http_status,\n
      \                                     CheckResponse* response,\n                                      CheckDoneFunc
      on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:453,1
    - Dst: Quota
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:454,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request'
    - on_done
    argTypes:
    - AllocateQuotaRequest
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    - AllocateQuotaResponse::AllocateQuotaResponse
    - Quota
    linkageType: ''
    returnType: void
    signature: "void ClientCache::callQuota(const AllocateQuotaRequest& request,\n
      \                           QuotaDoneFunc on_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:470,1
    - Dst: espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:472,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:473,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:475,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:476,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:479,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:481,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - AllocateQuotaResponse*
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 486
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 8
    functionsReached:
    - espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - service_name
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleQuotaOnDone(const Status& http_status,\n                                    AllocateQuotaResponse*
      response,\n                                    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportResponse::ReportResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:489,1
    - Dst: Report
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' request'
    argTypes:
    - ReportRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - Report
    - ReportResponse::ReportResponse
    linkageType: ''
    returnType: void
    signature: void ClientCache::callReport(const ReportRequest& request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 17
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 18
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:159,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:160,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:161,1
    - Dst: Response*::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:163,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:164,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:166,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' status'
    - resp
    - ' body'
    argTypes:
    - Status
    - Response*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 16
    functionsReached:
    - ok
    - Response*::ParseFromString
    - ToString
    - ENVOY_LOG
    - Status
    - std::string
    linkageType: ''
    returnType: Status
    signature: "Status ClientCache::processScCallTransportStatus(const Status& status,\n
      \                                                Response* resp,\n                                                 const
      std::string& body)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:175,1
    - Dst: sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:185,1
    - Dst: has_network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:186,1
    - Dst: network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:187,1
    - Dst: has_check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:189,1
    - Dst: check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:190,1
    - Dst: has_quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:192,1
    - Dst: quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:193,1
    - Dst: has_report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:195,1
    - Dst: report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:196,1
    - Dst: has_check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:199,1
    - Dst: check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:200,1
    - Dst: has_quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:202,1
    - Dst: quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:203,1
    - Dst: has_report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:205,1
    - Dst: report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' filter_config'
    argTypes:
    - FilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 208
    functionName: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 8
    functionsReached:
    - has_check_retries
    - network_fail_open
    - quota_timeout_ms
    - has_quota_retries
    - report_retries
    - quota_retries
    - has_sc_calling_config
    - check_timeout_ms
    - has_quota_timeout_ms
    - has_network_fail_open
    - has_report_timeout_ms
    - report_timeout_ms
    - has_check_timeout_ms
    - check_retries
    - has_report_retries
    - sc_calling_config
    linkageType: ''
    returnType: void
    signature: void ClientCache::initHttpRequestSetting(const FilterConfig& filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' call_stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 16
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::collectCallStatus(CallStatusStats& call_stats,\n
      \                                   const StatusCode& code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:223,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:229,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:230,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:231,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:235,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:236,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:240,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:241,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:253,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:254,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:258,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:261,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:263,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:270,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:271,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:276,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:279,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:281,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:288,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:289,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:293,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:297,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:299,1
    - Dst: std::unique_ptr<::google::service_control_client::PeriodicTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:305,1
    - Dst: EnvoyPeriodicTimer::EnvoyPeriodicTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:306,1
    - Dst: ::google::service_control_client::CreateServiceControlClient
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:309,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 9
    argNames:
    - ' config'
    - ' filter_config'
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    - sc_token_fn
    - quota_token_fn
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    - std::function<const std::string&()>
    - std::function<const std::string&()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 311
    functionName: espv2::envoy::http_filters::service_control::ClientCache::ClientCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - service_config_id
    - std::make_unique<HttpCallFactoryImpl>
    - service_control_uri
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - absl::StrCat
    - Envoy::Tracing::NullSpan::instance
    - std::unique_ptr<::google::service_control_client::PeriodicTimer>
    - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    - service_name
    - Status::code
    - ::google::service_control_client::CreateServiceControlClient
    - EnvoyPeriodicTimer::EnvoyPeriodicTimer
    - auto*::call
    - espv2::envoy::http_filters::service_control::create
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::ClientCache(\n    const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n    const FilterConfig& filter_config, const std::string& stats_prefix,\n
      \   Envoy::Stats::Scope& scope, Envoy::Upstream::ClusterManager& cm,\n    Envoy::TimeSource&
      time_source, Envoy::Event::Dispatcher& dispatcher,\n    std::function<const
      std::string&()> sc_token_fn,\n    std::function<const std::string&()> quota_token_fn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_consumer_blocked_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:316,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:321,1
    - Dst: filter_::denied_consumer_quota_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - error_type
    argTypes:
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 16
    functionsReached:
    - filter_::denied_consumer_quota_::inc
    - filter_::denied_consumer_blocked_::inc
    - filter_::denied_consumer_error_::inc
    linkageType: ''
    returnType: void
    signature: void ClientCache::collectScResponseErrorStats(ScResponseErrorType error_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:338,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:342,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:345,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:347,1
    - Dst: auto*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:348,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:354,1
    - Dst: Check
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:355,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ' request'
    - ' parent_span'
    - on_done
    argTypes:
    - CheckRequest
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 362
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    - createHttpCall
    - auto*::cancel
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - Status::code
    - auto*::call
    - systemTime
    - Check
    - log
    - CheckResponse::CheckResponse
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ClientCache::callCheck(const CheckRequest& request,\n                                  Envoy::Tracing::Span&
      parent_span,\n                                  CheckDoneFunc on_done)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:370,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:373,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:374,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:375,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:382,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:385,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:386,1
    - Dst: filter_::allowed_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:392,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:393,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:397,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: filter_::denied_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:401,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:402,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:405,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:409,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:410,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:412,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:415,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:417,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:426,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:428,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:429,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - CheckResponse*
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 449
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 9
    functionsReached:
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - Status::message
    - service_name
    - filter_::denied_control_plane_fault_::inc
    - Status::code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - ENVOY_LOG
    - filter_::allowed_control_plane_fault_::inc
    - OkStatus
    - Status::ok
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleCheckResponse(const Status& http_status,\n
      \                                     CheckResponse* response,\n                                      CheckDoneFunc
      on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:453,1
    - Dst: Quota
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:454,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request'
    - on_done
    argTypes:
    - AllocateQuotaRequest
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    - AllocateQuotaResponse::AllocateQuotaResponse
    - Quota
    linkageType: ''
    returnType: void
    signature: "void ClientCache::callQuota(const AllocateQuotaRequest& request,\n
      \                           QuotaDoneFunc on_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:470,1
    - Dst: espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:472,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:473,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:475,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:476,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:479,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:481,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - AllocateQuotaResponse*
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 486
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 9
    functionsReached:
    - espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - service_name
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleQuotaOnDone(const Status& http_status,\n                                    AllocateQuotaResponse*
      response,\n                                    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportResponse::ReportResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:489,1
    - Dst: Report
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' request'
    argTypes:
    - ReportRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - Report
    - ReportResponse::ReportResponse
    linkageType: ''
    returnType: void
    signature: void ClientCache::callReport(const ReportRequest& request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 19
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 20
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:159,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:160,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:161,1
    - Dst: Response*::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:163,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:164,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:166,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' status'
    - resp
    - ' body'
    argTypes:
    - Status
    - Response*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 18
    functionsReached:
    - ok
    - Response*::ParseFromString
    - ToString
    - ENVOY_LOG
    - Status
    - std::string
    linkageType: ''
    returnType: Status
    signature: "Status ClientCache::processScCallTransportStatus(const Status& status,\n
      \                                                Response* resp,\n                                                 const
      std::string& body)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:175,1
    - Dst: sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:185,1
    - Dst: has_network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:186,1
    - Dst: network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:187,1
    - Dst: has_check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:189,1
    - Dst: check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:190,1
    - Dst: has_quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:192,1
    - Dst: quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:193,1
    - Dst: has_report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:195,1
    - Dst: report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:196,1
    - Dst: has_check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:199,1
    - Dst: check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:200,1
    - Dst: has_quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:202,1
    - Dst: quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:203,1
    - Dst: has_report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:205,1
    - Dst: report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' filter_config'
    argTypes:
    - FilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 208
    functionName: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 9
    functionsReached:
    - has_check_retries
    - network_fail_open
    - quota_timeout_ms
    - has_quota_retries
    - report_retries
    - quota_retries
    - has_sc_calling_config
    - check_timeout_ms
    - has_quota_timeout_ms
    - has_network_fail_open
    - has_report_timeout_ms
    - report_timeout_ms
    - has_check_timeout_ms
    - check_retries
    - has_report_retries
    - sc_calling_config
    linkageType: ''
    returnType: void
    signature: void ClientCache::initHttpRequestSetting(const FilterConfig& filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' call_stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 18
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::collectCallStatus(CallStatusStats& call_stats,\n
      \                                   const StatusCode& code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:223,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:229,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:230,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:231,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:235,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:236,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:240,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:241,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:253,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:254,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:258,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:261,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:263,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:270,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:271,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:276,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:279,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:281,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:288,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:289,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:293,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:297,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:299,1
    - Dst: std::unique_ptr<::google::service_control_client::PeriodicTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:305,1
    - Dst: EnvoyPeriodicTimer::EnvoyPeriodicTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:306,1
    - Dst: ::google::service_control_client::CreateServiceControlClient
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:309,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 9
    argNames:
    - ' config'
    - ' filter_config'
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    - sc_token_fn
    - quota_token_fn
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    - std::function<const std::string&()>
    - std::function<const std::string&()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 311
    functionName: espv2::envoy::http_filters::service_control::ClientCache::ClientCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - service_config_id
    - std::make_unique<HttpCallFactoryImpl>
    - service_control_uri
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - absl::StrCat
    - Envoy::Tracing::NullSpan::instance
    - std::unique_ptr<::google::service_control_client::PeriodicTimer>
    - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    - service_name
    - Status::code
    - ::google::service_control_client::CreateServiceControlClient
    - EnvoyPeriodicTimer::EnvoyPeriodicTimer
    - auto*::call
    - espv2::envoy::http_filters::service_control::create
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::ClientCache(\n    const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n    const FilterConfig& filter_config, const std::string& stats_prefix,\n
      \   Envoy::Stats::Scope& scope, Envoy::Upstream::ClusterManager& cm,\n    Envoy::TimeSource&
      time_source, Envoy::Event::Dispatcher& dispatcher,\n    std::function<const
      std::string&()> sc_token_fn,\n    std::function<const std::string&()> quota_token_fn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_consumer_blocked_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:316,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:321,1
    - Dst: filter_::denied_consumer_quota_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - error_type
    argTypes:
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 18
    functionsReached:
    - filter_::denied_consumer_quota_::inc
    - filter_::denied_consumer_blocked_::inc
    - filter_::denied_consumer_error_::inc
    linkageType: ''
    returnType: void
    signature: void ClientCache::collectScResponseErrorStats(ScResponseErrorType error_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:338,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:342,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:345,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:347,1
    - Dst: auto*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:348,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:354,1
    - Dst: Check
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:355,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ' request'
    - ' parent_span'
    - on_done
    argTypes:
    - CheckRequest
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 362
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    - createHttpCall
    - auto*::cancel
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - Status::code
    - auto*::call
    - systemTime
    - Check
    - log
    - CheckResponse::CheckResponse
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ClientCache::callCheck(const CheckRequest& request,\n                                  Envoy::Tracing::Span&
      parent_span,\n                                  CheckDoneFunc on_done)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:370,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:373,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:374,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:375,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:382,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:385,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:386,1
    - Dst: filter_::allowed_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:392,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:393,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:397,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: filter_::denied_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:401,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:402,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:405,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:409,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:410,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:412,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:415,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:417,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:426,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:428,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:429,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - CheckResponse*
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 449
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 10
    functionsReached:
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - Status::message
    - service_name
    - filter_::denied_control_plane_fault_::inc
    - Status::code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - ENVOY_LOG
    - filter_::allowed_control_plane_fault_::inc
    - OkStatus
    - Status::ok
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleCheckResponse(const Status& http_status,\n
      \                                     CheckResponse* response,\n                                      CheckDoneFunc
      on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:453,1
    - Dst: Quota
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:454,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request'
    - on_done
    argTypes:
    - AllocateQuotaRequest
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    - AllocateQuotaResponse::AllocateQuotaResponse
    - Quota
    linkageType: ''
    returnType: void
    signature: "void ClientCache::callQuota(const AllocateQuotaRequest& request,\n
      \                           QuotaDoneFunc on_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:470,1
    - Dst: espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:472,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:473,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:475,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:476,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:479,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:481,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - AllocateQuotaResponse*
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 486
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 10
    functionsReached:
    - espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - service_name
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleQuotaOnDone(const Status& http_status,\n                                    AllocateQuotaResponse*
      response,\n                                    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportResponse::ReportResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:489,1
    - Dst: Report
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' request'
    argTypes:
    - ReportRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - Report
    - ReportResponse::ReportResponse
    linkageType: ''
    returnType: void
    signature: void ClientCache::callReport(const ReportRequest& request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 21
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 22
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:159,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:160,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:161,1
    - Dst: Response*::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:163,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:164,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:166,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' status'
    - resp
    - ' body'
    argTypes:
    - Status
    - Response*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 20
    functionsReached:
    - ok
    - Response*::ParseFromString
    - ToString
    - ENVOY_LOG
    - Status
    - std::string
    linkageType: ''
    returnType: Status
    signature: "Status ClientCache::processScCallTransportStatus(const Status& status,\n
      \                                                Response* resp,\n                                                 const
      std::string& body)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:175,1
    - Dst: sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:185,1
    - Dst: has_network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:186,1
    - Dst: network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:187,1
    - Dst: has_check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:189,1
    - Dst: check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:190,1
    - Dst: has_quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:192,1
    - Dst: quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:193,1
    - Dst: has_report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:195,1
    - Dst: report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:196,1
    - Dst: has_check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:199,1
    - Dst: check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:200,1
    - Dst: has_quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:202,1
    - Dst: quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:203,1
    - Dst: has_report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:205,1
    - Dst: report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' filter_config'
    argTypes:
    - FilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 208
    functionName: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 10
    functionsReached:
    - has_check_retries
    - network_fail_open
    - quota_timeout_ms
    - has_quota_retries
    - report_retries
    - quota_retries
    - has_sc_calling_config
    - check_timeout_ms
    - has_quota_timeout_ms
    - has_network_fail_open
    - has_report_timeout_ms
    - report_timeout_ms
    - has_check_timeout_ms
    - check_retries
    - has_report_retries
    - sc_calling_config
    linkageType: ''
    returnType: void
    signature: void ClientCache::initHttpRequestSetting(const FilterConfig& filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' call_stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 20
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::collectCallStatus(CallStatusStats& call_stats,\n
      \                                   const StatusCode& code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:223,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:229,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:230,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:231,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:235,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:236,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:240,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:241,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:253,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:254,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:258,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:261,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:263,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:270,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:271,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:276,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:279,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:281,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:288,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:289,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:293,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:297,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:299,1
    - Dst: std::unique_ptr<::google::service_control_client::PeriodicTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:305,1
    - Dst: EnvoyPeriodicTimer::EnvoyPeriodicTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:306,1
    - Dst: ::google::service_control_client::CreateServiceControlClient
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:309,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 9
    argNames:
    - ' config'
    - ' filter_config'
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    - sc_token_fn
    - quota_token_fn
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    - std::function<const std::string&()>
    - std::function<const std::string&()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 311
    functionName: espv2::envoy::http_filters::service_control::ClientCache::ClientCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - service_config_id
    - std::make_unique<HttpCallFactoryImpl>
    - service_control_uri
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - absl::StrCat
    - Envoy::Tracing::NullSpan::instance
    - std::unique_ptr<::google::service_control_client::PeriodicTimer>
    - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    - service_name
    - Status::code
    - ::google::service_control_client::CreateServiceControlClient
    - EnvoyPeriodicTimer::EnvoyPeriodicTimer
    - auto*::call
    - espv2::envoy::http_filters::service_control::create
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::ClientCache(\n    const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n    const FilterConfig& filter_config, const std::string& stats_prefix,\n
      \   Envoy::Stats::Scope& scope, Envoy::Upstream::ClusterManager& cm,\n    Envoy::TimeSource&
      time_source, Envoy::Event::Dispatcher& dispatcher,\n    std::function<const
      std::string&()> sc_token_fn,\n    std::function<const std::string&()> quota_token_fn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_consumer_blocked_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:316,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:321,1
    - Dst: filter_::denied_consumer_quota_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - error_type
    argTypes:
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 20
    functionsReached:
    - filter_::denied_consumer_quota_::inc
    - filter_::denied_consumer_blocked_::inc
    - filter_::denied_consumer_error_::inc
    linkageType: ''
    returnType: void
    signature: void ClientCache::collectScResponseErrorStats(ScResponseErrorType error_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:338,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:342,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:345,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:347,1
    - Dst: auto*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:348,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:354,1
    - Dst: Check
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:355,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ' request'
    - ' parent_span'
    - on_done
    argTypes:
    - CheckRequest
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 362
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    - createHttpCall
    - auto*::cancel
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - Status::code
    - auto*::call
    - systemTime
    - Check
    - log
    - CheckResponse::CheckResponse
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ClientCache::callCheck(const CheckRequest& request,\n                                  Envoy::Tracing::Span&
      parent_span,\n                                  CheckDoneFunc on_done)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:370,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:373,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:374,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:375,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:382,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:385,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:386,1
    - Dst: filter_::allowed_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:392,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:393,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:397,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: filter_::denied_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:401,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:402,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:405,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:409,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:410,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:412,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:415,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:417,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:426,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:428,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:429,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - CheckResponse*
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 449
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 11
    functionsReached:
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - Status::message
    - service_name
    - filter_::denied_control_plane_fault_::inc
    - Status::code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - ENVOY_LOG
    - filter_::allowed_control_plane_fault_::inc
    - OkStatus
    - Status::ok
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleCheckResponse(const Status& http_status,\n
      \                                     CheckResponse* response,\n                                      CheckDoneFunc
      on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:453,1
    - Dst: Quota
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:454,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request'
    - on_done
    argTypes:
    - AllocateQuotaRequest
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    - AllocateQuotaResponse::AllocateQuotaResponse
    - Quota
    linkageType: ''
    returnType: void
    signature: "void ClientCache::callQuota(const AllocateQuotaRequest& request,\n
      \                           QuotaDoneFunc on_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:470,1
    - Dst: espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:472,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:473,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:475,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:476,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:479,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:481,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - AllocateQuotaResponse*
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 486
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 11
    functionsReached:
    - espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - service_name
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleQuotaOnDone(const Status& http_status,\n                                    AllocateQuotaResponse*
      response,\n                                    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportResponse::ReportResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:489,1
    - Dst: Report
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' request'
    argTypes:
    - ReportRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - Report
    - ReportResponse::ReportResponse
    linkageType: ''
    returnType: void
    signature: void ClientCache::callReport(const ReportRequest& request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 23
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 24
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:159,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:160,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:161,1
    - Dst: Response*::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:163,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:164,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:166,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' status'
    - resp
    - ' body'
    argTypes:
    - Status
    - Response*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 22
    functionsReached:
    - ok
    - Response*::ParseFromString
    - ToString
    - ENVOY_LOG
    - Status
    - std::string
    linkageType: ''
    returnType: Status
    signature: "Status ClientCache::processScCallTransportStatus(const Status& status,\n
      \                                                Response* resp,\n                                                 const
      std::string& body)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:175,1
    - Dst: sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:185,1
    - Dst: has_network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:186,1
    - Dst: network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:187,1
    - Dst: has_check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:189,1
    - Dst: check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:190,1
    - Dst: has_quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:192,1
    - Dst: quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:193,1
    - Dst: has_report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:195,1
    - Dst: report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:196,1
    - Dst: has_check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:199,1
    - Dst: check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:200,1
    - Dst: has_quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:202,1
    - Dst: quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:203,1
    - Dst: has_report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:205,1
    - Dst: report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' filter_config'
    argTypes:
    - FilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 208
    functionName: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 11
    functionsReached:
    - has_check_retries
    - network_fail_open
    - quota_timeout_ms
    - has_quota_retries
    - report_retries
    - quota_retries
    - has_sc_calling_config
    - check_timeout_ms
    - has_quota_timeout_ms
    - has_network_fail_open
    - has_report_timeout_ms
    - report_timeout_ms
    - has_check_timeout_ms
    - check_retries
    - has_report_retries
    - sc_calling_config
    linkageType: ''
    returnType: void
    signature: void ClientCache::initHttpRequestSetting(const FilterConfig& filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' call_stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 22
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::collectCallStatus(CallStatusStats& call_stats,\n
      \                                   const StatusCode& code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:223,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:229,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:230,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:231,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:235,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:236,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:240,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:241,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:253,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:254,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:258,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:261,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:263,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:270,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:271,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:276,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:279,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:281,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:288,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:289,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:293,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:297,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:299,1
    - Dst: std::unique_ptr<::google::service_control_client::PeriodicTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:305,1
    - Dst: EnvoyPeriodicTimer::EnvoyPeriodicTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:306,1
    - Dst: ::google::service_control_client::CreateServiceControlClient
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:309,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 9
    argNames:
    - ' config'
    - ' filter_config'
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    - sc_token_fn
    - quota_token_fn
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    - std::function<const std::string&()>
    - std::function<const std::string&()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 311
    functionName: espv2::envoy::http_filters::service_control::ClientCache::ClientCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - service_config_id
    - std::make_unique<HttpCallFactoryImpl>
    - service_control_uri
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - absl::StrCat
    - Envoy::Tracing::NullSpan::instance
    - std::unique_ptr<::google::service_control_client::PeriodicTimer>
    - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    - service_name
    - Status::code
    - ::google::service_control_client::CreateServiceControlClient
    - EnvoyPeriodicTimer::EnvoyPeriodicTimer
    - auto*::call
    - espv2::envoy::http_filters::service_control::create
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::ClientCache(\n    const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n    const FilterConfig& filter_config, const std::string& stats_prefix,\n
      \   Envoy::Stats::Scope& scope, Envoy::Upstream::ClusterManager& cm,\n    Envoy::TimeSource&
      time_source, Envoy::Event::Dispatcher& dispatcher,\n    std::function<const
      std::string&()> sc_token_fn,\n    std::function<const std::string&()> quota_token_fn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_consumer_blocked_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:316,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:321,1
    - Dst: filter_::denied_consumer_quota_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - error_type
    argTypes:
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 22
    functionsReached:
    - filter_::denied_consumer_quota_::inc
    - filter_::denied_consumer_blocked_::inc
    - filter_::denied_consumer_error_::inc
    linkageType: ''
    returnType: void
    signature: void ClientCache::collectScResponseErrorStats(ScResponseErrorType error_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:338,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:342,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:345,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:347,1
    - Dst: auto*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:348,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:354,1
    - Dst: Check
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:355,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ' request'
    - ' parent_span'
    - on_done
    argTypes:
    - CheckRequest
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 362
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    - createHttpCall
    - auto*::cancel
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - Status::code
    - auto*::call
    - systemTime
    - Check
    - log
    - CheckResponse::CheckResponse
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ClientCache::callCheck(const CheckRequest& request,\n                                  Envoy::Tracing::Span&
      parent_span,\n                                  CheckDoneFunc on_done)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:370,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:373,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:374,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:375,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:382,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:385,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:386,1
    - Dst: filter_::allowed_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:392,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:393,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:397,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: filter_::denied_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:401,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:402,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:405,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:409,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:410,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:412,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:415,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:417,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:426,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:428,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:429,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - CheckResponse*
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 449
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 12
    functionsReached:
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - Status::message
    - service_name
    - filter_::denied_control_plane_fault_::inc
    - Status::code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - ENVOY_LOG
    - filter_::allowed_control_plane_fault_::inc
    - OkStatus
    - Status::ok
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleCheckResponse(const Status& http_status,\n
      \                                     CheckResponse* response,\n                                      CheckDoneFunc
      on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:453,1
    - Dst: Quota
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:454,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request'
    - on_done
    argTypes:
    - AllocateQuotaRequest
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    - AllocateQuotaResponse::AllocateQuotaResponse
    - Quota
    linkageType: ''
    returnType: void
    signature: "void ClientCache::callQuota(const AllocateQuotaRequest& request,\n
      \                           QuotaDoneFunc on_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:470,1
    - Dst: espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:472,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:473,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:475,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:476,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:479,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:481,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - AllocateQuotaResponse*
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 486
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 12
    functionsReached:
    - espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - service_name
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleQuotaOnDone(const Status& http_status,\n                                    AllocateQuotaResponse*
      response,\n                                    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportResponse::ReportResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:489,1
    - Dst: Report
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' request'
    argTypes:
    - ReportRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - Report
    - ReportResponse::ReportResponse
    linkageType: ''
    returnType: void
    signature: void ClientCache::callReport(const ReportRequest& request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 25
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 26
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:159,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:160,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:161,1
    - Dst: Response*::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:163,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:164,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:166,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' status'
    - resp
    - ' body'
    argTypes:
    - Status
    - Response*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 24
    functionsReached:
    - ok
    - Response*::ParseFromString
    - ToString
    - ENVOY_LOG
    - Status
    - std::string
    linkageType: ''
    returnType: Status
    signature: "Status ClientCache::processScCallTransportStatus(const Status& status,\n
      \                                                Response* resp,\n                                                 const
      std::string& body)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:175,1
    - Dst: sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:185,1
    - Dst: has_network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:186,1
    - Dst: network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:187,1
    - Dst: has_check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:189,1
    - Dst: check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:190,1
    - Dst: has_quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:192,1
    - Dst: quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:193,1
    - Dst: has_report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:195,1
    - Dst: report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:196,1
    - Dst: has_check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:199,1
    - Dst: check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:200,1
    - Dst: has_quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:202,1
    - Dst: quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:203,1
    - Dst: has_report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:205,1
    - Dst: report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' filter_config'
    argTypes:
    - FilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 208
    functionName: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 12
    functionsReached:
    - has_check_retries
    - network_fail_open
    - quota_timeout_ms
    - has_quota_retries
    - report_retries
    - quota_retries
    - has_sc_calling_config
    - check_timeout_ms
    - has_quota_timeout_ms
    - has_network_fail_open
    - has_report_timeout_ms
    - report_timeout_ms
    - has_check_timeout_ms
    - check_retries
    - has_report_retries
    - sc_calling_config
    linkageType: ''
    returnType: void
    signature: void ClientCache::initHttpRequestSetting(const FilterConfig& filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' call_stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 24
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::collectCallStatus(CallStatusStats& call_stats,\n
      \                                   const StatusCode& code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:223,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:229,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:230,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:231,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:235,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:236,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:240,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:241,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:253,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:254,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:258,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:261,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:263,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:270,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:271,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:276,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:279,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:281,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:288,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:289,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:293,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:297,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:299,1
    - Dst: std::unique_ptr<::google::service_control_client::PeriodicTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:305,1
    - Dst: EnvoyPeriodicTimer::EnvoyPeriodicTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:306,1
    - Dst: ::google::service_control_client::CreateServiceControlClient
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:309,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 9
    argNames:
    - ' config'
    - ' filter_config'
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    - sc_token_fn
    - quota_token_fn
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    - std::function<const std::string&()>
    - std::function<const std::string&()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 311
    functionName: espv2::envoy::http_filters::service_control::ClientCache::ClientCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - service_config_id
    - std::make_unique<HttpCallFactoryImpl>
    - service_control_uri
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - absl::StrCat
    - Envoy::Tracing::NullSpan::instance
    - std::unique_ptr<::google::service_control_client::PeriodicTimer>
    - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    - service_name
    - Status::code
    - ::google::service_control_client::CreateServiceControlClient
    - EnvoyPeriodicTimer::EnvoyPeriodicTimer
    - auto*::call
    - espv2::envoy::http_filters::service_control::create
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::ClientCache(\n    const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n    const FilterConfig& filter_config, const std::string& stats_prefix,\n
      \   Envoy::Stats::Scope& scope, Envoy::Upstream::ClusterManager& cm,\n    Envoy::TimeSource&
      time_source, Envoy::Event::Dispatcher& dispatcher,\n    std::function<const
      std::string&()> sc_token_fn,\n    std::function<const std::string&()> quota_token_fn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_consumer_blocked_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:316,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:321,1
    - Dst: filter_::denied_consumer_quota_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - error_type
    argTypes:
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 24
    functionsReached:
    - filter_::denied_consumer_quota_::inc
    - filter_::denied_consumer_blocked_::inc
    - filter_::denied_consumer_error_::inc
    linkageType: ''
    returnType: void
    signature: void ClientCache::collectScResponseErrorStats(ScResponseErrorType error_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:338,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:342,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:345,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:347,1
    - Dst: auto*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:348,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:354,1
    - Dst: Check
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:355,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ' request'
    - ' parent_span'
    - on_done
    argTypes:
    - CheckRequest
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 362
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    - createHttpCall
    - auto*::cancel
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - Status::code
    - auto*::call
    - systemTime
    - Check
    - log
    - CheckResponse::CheckResponse
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ClientCache::callCheck(const CheckRequest& request,\n                                  Envoy::Tracing::Span&
      parent_span,\n                                  CheckDoneFunc on_done)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:370,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:373,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:374,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:375,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:382,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:385,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:386,1
    - Dst: filter_::allowed_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:392,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:393,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:397,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: filter_::denied_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:401,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:402,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:405,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:409,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:410,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:412,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:415,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:417,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:426,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:428,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:429,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - CheckResponse*
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 449
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 13
    functionsReached:
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - Status::message
    - service_name
    - filter_::denied_control_plane_fault_::inc
    - Status::code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - ENVOY_LOG
    - filter_::allowed_control_plane_fault_::inc
    - OkStatus
    - Status::ok
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleCheckResponse(const Status& http_status,\n
      \                                     CheckResponse* response,\n                                      CheckDoneFunc
      on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:453,1
    - Dst: Quota
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:454,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request'
    - on_done
    argTypes:
    - AllocateQuotaRequest
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    - AllocateQuotaResponse::AllocateQuotaResponse
    - Quota
    linkageType: ''
    returnType: void
    signature: "void ClientCache::callQuota(const AllocateQuotaRequest& request,\n
      \                           QuotaDoneFunc on_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:470,1
    - Dst: espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:472,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:473,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:475,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:476,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:479,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:481,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - AllocateQuotaResponse*
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 486
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 13
    functionsReached:
    - espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - service_name
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleQuotaOnDone(const Status& http_status,\n                                    AllocateQuotaResponse*
      response,\n                                    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportResponse::ReportResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:489,1
    - Dst: Report
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' request'
    argTypes:
    - ReportRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - Report
    - ReportResponse::ReportResponse
    linkageType: ''
    returnType: void
    signature: void ClientCache::callReport(const ReportRequest& request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 27
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 28
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:159,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:160,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:161,1
    - Dst: Response*::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:163,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:164,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:166,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' status'
    - resp
    - ' body'
    argTypes:
    - Status
    - Response*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 26
    functionsReached:
    - ok
    - Response*::ParseFromString
    - ToString
    - ENVOY_LOG
    - Status
    - std::string
    linkageType: ''
    returnType: Status
    signature: "Status ClientCache::processScCallTransportStatus(const Status& status,\n
      \                                                Response* resp,\n                                                 const
      std::string& body)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:175,1
    - Dst: sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:185,1
    - Dst: has_network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:186,1
    - Dst: network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:187,1
    - Dst: has_check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:189,1
    - Dst: check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:190,1
    - Dst: has_quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:192,1
    - Dst: quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:193,1
    - Dst: has_report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:195,1
    - Dst: report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:196,1
    - Dst: has_check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:199,1
    - Dst: check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:200,1
    - Dst: has_quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:202,1
    - Dst: quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:203,1
    - Dst: has_report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:205,1
    - Dst: report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' filter_config'
    argTypes:
    - FilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 208
    functionName: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 13
    functionsReached:
    - has_check_retries
    - network_fail_open
    - quota_timeout_ms
    - has_quota_retries
    - report_retries
    - quota_retries
    - has_sc_calling_config
    - check_timeout_ms
    - has_quota_timeout_ms
    - has_network_fail_open
    - has_report_timeout_ms
    - report_timeout_ms
    - has_check_timeout_ms
    - check_retries
    - has_report_retries
    - sc_calling_config
    linkageType: ''
    returnType: void
    signature: void ClientCache::initHttpRequestSetting(const FilterConfig& filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' call_stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 26
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::collectCallStatus(CallStatusStats& call_stats,\n
      \                                   const StatusCode& code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:223,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:229,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:230,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:231,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:235,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:236,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:240,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:241,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:253,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:254,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:258,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:261,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:263,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:270,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:271,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:276,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:279,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:281,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:288,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:289,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:293,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:297,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:299,1
    - Dst: std::unique_ptr<::google::service_control_client::PeriodicTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:305,1
    - Dst: EnvoyPeriodicTimer::EnvoyPeriodicTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:306,1
    - Dst: ::google::service_control_client::CreateServiceControlClient
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:309,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 9
    argNames:
    - ' config'
    - ' filter_config'
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    - sc_token_fn
    - quota_token_fn
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    - std::function<const std::string&()>
    - std::function<const std::string&()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 311
    functionName: espv2::envoy::http_filters::service_control::ClientCache::ClientCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - service_config_id
    - std::make_unique<HttpCallFactoryImpl>
    - service_control_uri
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - absl::StrCat
    - Envoy::Tracing::NullSpan::instance
    - std::unique_ptr<::google::service_control_client::PeriodicTimer>
    - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    - service_name
    - Status::code
    - ::google::service_control_client::CreateServiceControlClient
    - EnvoyPeriodicTimer::EnvoyPeriodicTimer
    - auto*::call
    - espv2::envoy::http_filters::service_control::create
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::ClientCache(\n    const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n    const FilterConfig& filter_config, const std::string& stats_prefix,\n
      \   Envoy::Stats::Scope& scope, Envoy::Upstream::ClusterManager& cm,\n    Envoy::TimeSource&
      time_source, Envoy::Event::Dispatcher& dispatcher,\n    std::function<const
      std::string&()> sc_token_fn,\n    std::function<const std::string&()> quota_token_fn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_consumer_blocked_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:316,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:321,1
    - Dst: filter_::denied_consumer_quota_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - error_type
    argTypes:
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 26
    functionsReached:
    - filter_::denied_consumer_quota_::inc
    - filter_::denied_consumer_blocked_::inc
    - filter_::denied_consumer_error_::inc
    linkageType: ''
    returnType: void
    signature: void ClientCache::collectScResponseErrorStats(ScResponseErrorType error_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:338,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:342,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:345,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:347,1
    - Dst: auto*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:348,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:354,1
    - Dst: Check
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:355,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ' request'
    - ' parent_span'
    - on_done
    argTypes:
    - CheckRequest
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 362
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    - createHttpCall
    - auto*::cancel
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - Status::code
    - auto*::call
    - systemTime
    - Check
    - log
    - CheckResponse::CheckResponse
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ClientCache::callCheck(const CheckRequest& request,\n                                  Envoy::Tracing::Span&
      parent_span,\n                                  CheckDoneFunc on_done)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:370,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:373,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:374,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:375,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:382,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:385,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:386,1
    - Dst: filter_::allowed_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:392,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:393,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:397,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: filter_::denied_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:401,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:402,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:405,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:409,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:410,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:412,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:415,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:417,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:426,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:428,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:429,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - CheckResponse*
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 449
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 14
    functionsReached:
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - Status::message
    - service_name
    - filter_::denied_control_plane_fault_::inc
    - Status::code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - ENVOY_LOG
    - filter_::allowed_control_plane_fault_::inc
    - OkStatus
    - Status::ok
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleCheckResponse(const Status& http_status,\n
      \                                     CheckResponse* response,\n                                      CheckDoneFunc
      on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:453,1
    - Dst: Quota
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:454,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request'
    - on_done
    argTypes:
    - AllocateQuotaRequest
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    - AllocateQuotaResponse::AllocateQuotaResponse
    - Quota
    linkageType: ''
    returnType: void
    signature: "void ClientCache::callQuota(const AllocateQuotaRequest& request,\n
      \                           QuotaDoneFunc on_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:470,1
    - Dst: espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:472,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:473,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:475,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:476,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:479,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:481,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - AllocateQuotaResponse*
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 486
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 14
    functionsReached:
    - espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - service_name
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleQuotaOnDone(const Status& http_status,\n                                    AllocateQuotaResponse*
      response,\n                                    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportResponse::ReportResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:489,1
    - Dst: Report
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' request'
    argTypes:
    - ReportRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - Report
    - ReportResponse::ReportResponse
    linkageType: ''
    returnType: void
    signature: void ClientCache::callReport(const ReportRequest& request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 29
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 30
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:159,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:160,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:161,1
    - Dst: Response*::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:163,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:164,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:166,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' status'
    - resp
    - ' body'
    argTypes:
    - Status
    - Response*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 28
    functionsReached:
    - ok
    - Response*::ParseFromString
    - ToString
    - ENVOY_LOG
    - Status
    - std::string
    linkageType: ''
    returnType: Status
    signature: "Status ClientCache::processScCallTransportStatus(const Status& status,\n
      \                                                Response* resp,\n                                                 const
      std::string& body)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:175,1
    - Dst: sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:185,1
    - Dst: has_network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:186,1
    - Dst: network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:187,1
    - Dst: has_check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:189,1
    - Dst: check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:190,1
    - Dst: has_quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:192,1
    - Dst: quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:193,1
    - Dst: has_report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:195,1
    - Dst: report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:196,1
    - Dst: has_check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:199,1
    - Dst: check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:200,1
    - Dst: has_quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:202,1
    - Dst: quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:203,1
    - Dst: has_report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:205,1
    - Dst: report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' filter_config'
    argTypes:
    - FilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 208
    functionName: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 14
    functionsReached:
    - has_check_retries
    - network_fail_open
    - quota_timeout_ms
    - has_quota_retries
    - report_retries
    - quota_retries
    - has_sc_calling_config
    - check_timeout_ms
    - has_quota_timeout_ms
    - has_network_fail_open
    - has_report_timeout_ms
    - report_timeout_ms
    - has_check_timeout_ms
    - check_retries
    - has_report_retries
    - sc_calling_config
    linkageType: ''
    returnType: void
    signature: void ClientCache::initHttpRequestSetting(const FilterConfig& filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' call_stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 28
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::collectCallStatus(CallStatusStats& call_stats,\n
      \                                   const StatusCode& code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:223,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:229,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:230,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:231,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:235,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:236,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:240,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:241,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:253,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:254,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:258,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:261,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:263,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:270,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:271,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:276,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:279,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:281,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:288,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:289,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:293,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:297,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:299,1
    - Dst: std::unique_ptr<::google::service_control_client::PeriodicTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:305,1
    - Dst: EnvoyPeriodicTimer::EnvoyPeriodicTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:306,1
    - Dst: ::google::service_control_client::CreateServiceControlClient
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:309,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 9
    argNames:
    - ' config'
    - ' filter_config'
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    - sc_token_fn
    - quota_token_fn
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    - std::function<const std::string&()>
    - std::function<const std::string&()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 311
    functionName: espv2::envoy::http_filters::service_control::ClientCache::ClientCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - service_config_id
    - std::make_unique<HttpCallFactoryImpl>
    - service_control_uri
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - absl::StrCat
    - Envoy::Tracing::NullSpan::instance
    - std::unique_ptr<::google::service_control_client::PeriodicTimer>
    - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    - service_name
    - Status::code
    - ::google::service_control_client::CreateServiceControlClient
    - EnvoyPeriodicTimer::EnvoyPeriodicTimer
    - auto*::call
    - espv2::envoy::http_filters::service_control::create
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::ClientCache(\n    const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n    const FilterConfig& filter_config, const std::string& stats_prefix,\n
      \   Envoy::Stats::Scope& scope, Envoy::Upstream::ClusterManager& cm,\n    Envoy::TimeSource&
      time_source, Envoy::Event::Dispatcher& dispatcher,\n    std::function<const
      std::string&()> sc_token_fn,\n    std::function<const std::string&()> quota_token_fn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_consumer_blocked_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:316,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:321,1
    - Dst: filter_::denied_consumer_quota_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - error_type
    argTypes:
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 28
    functionsReached:
    - filter_::denied_consumer_quota_::inc
    - filter_::denied_consumer_blocked_::inc
    - filter_::denied_consumer_error_::inc
    linkageType: ''
    returnType: void
    signature: void ClientCache::collectScResponseErrorStats(ScResponseErrorType error_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:338,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:342,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:345,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:347,1
    - Dst: auto*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:348,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:354,1
    - Dst: Check
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:355,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ' request'
    - ' parent_span'
    - on_done
    argTypes:
    - CheckRequest
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 362
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    - createHttpCall
    - auto*::cancel
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - Status::code
    - auto*::call
    - systemTime
    - Check
    - log
    - CheckResponse::CheckResponse
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ClientCache::callCheck(const CheckRequest& request,\n                                  Envoy::Tracing::Span&
      parent_span,\n                                  CheckDoneFunc on_done)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:370,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:373,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:374,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:375,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:382,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:385,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:386,1
    - Dst: filter_::allowed_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:392,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:393,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:397,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: filter_::denied_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:401,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:402,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:405,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:409,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:410,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:412,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:415,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:417,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:426,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:428,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:429,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - CheckResponse*
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 449
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 15
    functionsReached:
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - Status::message
    - service_name
    - filter_::denied_control_plane_fault_::inc
    - Status::code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - ENVOY_LOG
    - filter_::allowed_control_plane_fault_::inc
    - OkStatus
    - Status::ok
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleCheckResponse(const Status& http_status,\n
      \                                     CheckResponse* response,\n                                      CheckDoneFunc
      on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:453,1
    - Dst: Quota
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:454,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request'
    - on_done
    argTypes:
    - AllocateQuotaRequest
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    - AllocateQuotaResponse::AllocateQuotaResponse
    - Quota
    linkageType: ''
    returnType: void
    signature: "void ClientCache::callQuota(const AllocateQuotaRequest& request,\n
      \                           QuotaDoneFunc on_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:470,1
    - Dst: espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:472,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:473,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:475,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:476,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:479,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:481,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - AllocateQuotaResponse*
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 486
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 15
    functionsReached:
    - espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - service_name
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleQuotaOnDone(const Status& http_status,\n                                    AllocateQuotaResponse*
      response,\n                                    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportResponse::ReportResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:489,1
    - Dst: Report
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' request'
    argTypes:
    - ReportRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - Report
    - ReportResponse::ReportResponse
    linkageType: ''
    returnType: void
    signature: void ClientCache::callReport(const ReportRequest& request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 31
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: absl::StatusCodeToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: static_cast<absl::StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    - Dst: code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' status'
    argTypes:
    - Status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - static_cast<absl::StatusCode>
    - absl::StatusCodeToString
    - code
    linkageType: ''
    returnType: api_proxy::service_control::ScResponseError
    signature: "api_proxy::service_control::ScResponseError failCallStatusToScResponseError(\n
      \   const Status& status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: espv2::envoy::http_filters::service_control::getCheckAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - CheckAggregationOptions
    linkageType: ''
    returnType: CheckAggregationOptions
    signature: CheckAggregationOptions getCheckAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QuotaAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - QuotaAggregationOptions
    linkageType: ''
    returnType: QuotaAggregationOptions
    signature: QuotaAggregationOptions getQuotaAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportAggregationOptions
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: espv2::envoy::http_filters::service_control::getReportAggregationOptions
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - ReportAggregationOptions
    linkageType: ''
    returnType: ReportAggregationOptions
    signature: ReportAggregationOptions getReportAggregationOptions()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:126,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' dispatcher'
    - interval_ms
    - callback
    argTypes:
    - Envoy::Event::Dispatcher
    - int
    - std::function<void()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - enableTimer
    - createTimer
    - std::chrono::milliseconds
    - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    linkageType: ''
    returnType: void
    signature: "void EnvoyPeriodicTimer(Envoy::Event::Dispatcher& dispatcher, int
      interval_ms,\n                     std::function<void()> callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:131,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    - Dst: std::chrono::milliseconds
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 32
    functionsReached:
    - callback_
    - std::chrono::milliseconds
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void call()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - reset
    linkageType: ''
    returnType: void
    signature: void Stop() override
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:159,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:160,1
    - Dst: ToString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:161,1
    - Dst: Response*::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:163,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:164,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:166,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - ' status'
    - resp
    - ' body'
    argTypes:
    - Status
    - Response*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 30
    functionsReached:
    - ok
    - Response*::ParseFromString
    - ToString
    - ENVOY_LOG
    - Status
    - std::string
    linkageType: ''
    returnType: Status
    signature: "Status ClientCache::processScCallTransportStatus(const Status& status,\n
      \                                                Response* resp,\n                                                 const
      std::string& body)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: has_sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:175,1
    - Dst: sc_calling_config
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:185,1
    - Dst: has_network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:186,1
    - Dst: network_fail_open
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:187,1
    - Dst: has_check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:189,1
    - Dst: check_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:190,1
    - Dst: has_quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:192,1
    - Dst: quota_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:193,1
    - Dst: has_report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:195,1
    - Dst: report_timeout_ms
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:196,1
    - Dst: has_check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:199,1
    - Dst: check_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:200,1
    - Dst: has_quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:202,1
    - Dst: quota_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:203,1
    - Dst: has_report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:205,1
    - Dst: report_retries
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - ' filter_config'
    argTypes:
    - FilterConfig
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 208
    functionName: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 15
    functionsReached:
    - has_check_retries
    - network_fail_open
    - quota_timeout_ms
    - has_quota_retries
    - report_retries
    - quota_retries
    - has_sc_calling_config
    - check_timeout_ms
    - has_quota_timeout_ms
    - has_network_fail_open
    - has_report_timeout_ms
    - report_timeout_ms
    - has_check_timeout_ms
    - check_retries
    - has_report_retries
    - sc_calling_config
    linkageType: ''
    returnType: void
    signature: void ClientCache::initHttpRequestSetting(const FilterConfig& filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' call_stats'
    - ' code'
    argTypes:
    - CallStatusStats
    - StatusCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 30
    functionsReached:
    - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::collectCallStatus(CallStatusStats& call_stats,\n
      \                                   const StatusCode& code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:223,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:229,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:230,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:231,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:232,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:235,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:236,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:237,1
    - Dst: std::make_unique<HttpCallFactoryImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:240,1
    - Dst: service_control_uri
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:241,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:242,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:253,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:254,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:258,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:260,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:261,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:263,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:270,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:271,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:276,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:278,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:279,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:281,1
    - Dst: Envoy::Tracing::NullSpan::instance
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:288,1
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:289,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:293,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:295,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:297,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:299,1
    - Dst: std::unique_ptr<::google::service_control_client::PeriodicTimer>
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:305,1
    - Dst: EnvoyPeriodicTimer::EnvoyPeriodicTimer
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:306,1
    - Dst: ::google::service_control_client::CreateServiceControlClient
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:309,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 9
    argNames:
    - ' config'
    - ' filter_config'
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    - sc_token_fn
    - quota_token_fn
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    - std::function<const std::string&()>
    - std::function<const std::string&()>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 311
    functionName: espv2::envoy::http_filters::service_control::ClientCache::ClientCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - createHttpCall
    - service_config_id
    - std::make_unique<HttpCallFactoryImpl>
    - service_control_uri
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - absl::StrCat
    - Envoy::Tracing::NullSpan::instance
    - std::unique_ptr<::google::service_control_client::PeriodicTimer>
    - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
    - service_name
    - Status::code
    - ::google::service_control_client::CreateServiceControlClient
    - EnvoyPeriodicTimer::EnvoyPeriodicTimer
    - auto*::call
    - espv2::envoy::http_filters::service_control::create
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: void
    signature: "void ClientCache::ClientCache(\n    const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n    const FilterConfig& filter_config, const std::string& stats_prefix,\n
      \   Envoy::Stats::Scope& scope, Envoy::Upstream::ClusterManager& cm,\n    Envoy::TimeSource&
      time_source, Envoy::Event::Dispatcher& dispatcher,\n    std::function<const
      std::string&()> sc_token_fn,\n    std::function<const std::string&()> quota_token_fn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: filter_::denied_consumer_blocked_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:316,1
    - Dst: filter_::denied_consumer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:321,1
    - Dst: filter_::denied_consumer_quota_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - error_type
    argTypes:
    - ScResponseErrorType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 30
    functionsReached:
    - filter_::denied_consumer_quota_::inc
    - filter_::denied_consumer_blocked_::inc
    - filter_::denied_consumer_error_::inc
    linkageType: ''
    returnType: void
    signature: void ClientCache::collectScResponseErrorStats(ScResponseErrorType error_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createHttpCall
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:338,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:342,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:344,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:345,1
    - Dst: auto*::call
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:347,1
    - Dst: auto*::cancel
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:348,1
    - Dst: log
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: systemTime
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:351,1
    - Dst: CheckResponse::CheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:354,1
    - Dst: Check
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:355,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - ' request'
    - ' parent_span'
    - on_done
    argTypes:
    - CheckRequest
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 362
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - on_done
    - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    - createHttpCall
    - auto*::cancel
    - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
    - Status::code
    - auto*::call
    - systemTime
    - Check
    - log
    - CheckResponse::CheckResponse
    - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ClientCache::callCheck(const CheckRequest& request,\n                                  Envoy::Tracing::Span&
      parent_span,\n                                  CheckDoneFunc on_done)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:370,1
    - Dst: espv2::api_proxy::service_control::ConvertCheckResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:373,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:374,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:375,1
    - Dst: Status::ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:382,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:385,1
    - Dst: Status::code
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:386,1
    - Dst: filter_::allowed_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:392,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:393,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:397,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:398,1
    - Dst: filter_::denied_control_plane_fault_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:401,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:402,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:405,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:409,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:410,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:412,1
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:415,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:417,1
    - Dst: Status::message
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:426,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:428,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:429,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:445,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - CheckResponse*
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 449
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 16
    functionsReached:
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - Status::message
    - service_name
    - filter_::denied_control_plane_fault_::inc
    - Status::code
    - espv2::api_proxy::service_control::ConvertCheckResponse
    - ENVOY_LOG
    - filter_::allowed_control_plane_fault_::inc
    - OkStatus
    - Status::ok
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleCheckResponse(const Status& http_status,\n
      \                                     CheckResponse* response,\n                                      CheckDoneFunc
      on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AllocateQuotaResponse::AllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:453,1
    - Dst: Quota
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:454,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request'
    - on_done
    argTypes:
    - AllocateQuotaRequest
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 464
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    - AllocateQuotaResponse::AllocateQuotaResponse
    - Quota
    linkageType: ''
    returnType: void
    signature: "void ClientCache::callQuota(const AllocateQuotaRequest& request,\n
      \                           QuotaDoneFunc on_done)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ok
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:470,1
    - Dst: espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:472,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:473,1
    - Dst: espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:475,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:476,1
    - Dst: filter_::denied_producer_error_::inc
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:479,1
    - Dst: failCallStatusToScResponseError
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:481,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ' http_status'
    - response
    - on_done
    argTypes:
    - Status
    - AllocateQuotaResponse*
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 486
    functionName: espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 16
    functionsReached:
    - espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
    - on_done
    - ok
    - failCallStatusToScResponseError
    - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
    - service_name
    - filter_::denied_producer_error_::inc
    linkageType: ''
    returnType: void
    signature: "void ClientCache::handleQuotaOnDone(const Status& http_status,\n                                    AllocateQuotaResponse*
      response,\n                                    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReportResponse::ReportResponse
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:489,1
    - Dst: Report
      Src: /src/esp-v2/src/envoy/http/service_control/client_cache.cc:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' request'
    argTypes:
    - ReportRequest
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: espv2::envoy::http_filters::service_control::ClientCache::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
    functionUses: 0
    functionsReached:
    - Report
    - ReportResponse::ReportResponse
    linkageType: ''
    returnType: void
    signature: void ClientCache::callReport(const ReportRequest& request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void FilterStatsTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:51,1
    - Dst: collectStatus
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:54,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:59,1
    - Dst: counter::reset
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:60,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    - Dst: counter::value
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ' mappings'
    - ' collectStatus'
    argTypes:
    - std::vector<CodeToCounter>
    - std::function<void(CallStatusStats&, StatusCode&)>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - counter::reset
    - collectStatus
    - EXPECT_EQ
    - counter::value
    linkageType: ''
    returnType: void
    signature: "void runTest(\n      const std::vector<CodeToCounter>& mappings,\n
      \     const std::function<void(CallStatusStats&, StatusCode&)>& collectStatus)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(FilterStatsTest, CollectCallStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 1
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 2
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 3
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 4
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 5
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 6
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 7
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 8
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 9
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 10
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 11
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 12
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 13
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 14
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 15
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 16
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 17
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 18
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 19
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 20
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 57
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 57
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 21
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 60
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 60
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 22
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 63
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 63
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 23
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 24
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 69
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 69
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 25
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 26
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 50
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 75
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 75
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 27
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 78
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 78
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 28
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 81
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 81
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 29
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 84
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 84
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 30
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 87
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 87
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 31
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 60
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 90
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 90
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:165,1
    - Dst: rootScope
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - rootScope
    - espv2::envoy::http_filters::service_control::create
    linkageType: ''
    returnType: void
    signature: void HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: ~HandlerTest()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandlerTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::HandlerTest::setUp
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 170
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::http_filters::service_control::HandlerTest::setUp
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:179,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: TextFormat::ParseFromString
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:181,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: create
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:182,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: ServiceControlCallPtr
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:183,1
    - Dst: std::make_unique<FilterConfigParser>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - filter_config
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 32
    functionsReached:
    - ServiceControlCallPtr
    - ASSERT_TRUE
    - ByMove
    - EXPECT_CALL
    - create
    - Return
    - TextFormat::ParseFromString
    - testing::NiceMock<MockServiceControlCall>::NiceMock<MockServiceControlCall>
    - std::make_unique<FilterConfigParser>
    linkageType: ''
    returnType: void
    signature: void setUp(const char* filter_config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' expected_report_info'
    argTypes:
    - ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initExpectedReportInfo(ReportRequestInfo& expected_report_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:196,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' counter'
    - expected_value
    argTypes:
    - Envoy::Stats::Counter
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - reset
    - EXPECT_EQ
    - value
    linkageType: ''
    returnType: void
    signature: void checkAndReset(Envoy::Stats::Counter& counter, const int expected_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:203,1
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:204,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: mostSpecificPerFilterConfig
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:205,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:206,1
    - Dst: auto::get
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ' operation'
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - Invoke
    - EXPECT_CALL
    - auto::get
    - std::make_shared<PerRouteFilterConfig>
    - ::espv2::api::envoy::v12::http::service_control::PerRouteFilterConfig::set_operation_name
    - mostSpecificPerFilterConfig
    linkageType: ''
    returnType: void
    signature: void setPerRouteOperation(const std::string& operation)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: MATCH
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - want
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 246
    functionName: MATCH2
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 93
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH2(name, want)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: MATCH_VECTOR
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_VECTOR(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: MATCH_OPTIONAL
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_OPTIONAL(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:269,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:270,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:271,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:272,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:273,1
    - Dst: client_ip::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:276,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:277,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:279,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:280,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - client_ip::empty
    - MATCH
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesCheckInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:286,1
    - Dst: MATCH_VECTOR
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:287,1
    - Dst: MATCH
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:288,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:290,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:291,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH
    - MATCH_VECTOR
    - MATCH2
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesQuotaInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - arg
    - ','
    - expect
    - ','
    - operation_name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: MATCH_DEFAULT_REPORT_INFO
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 93
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MATCH_DEFAULT_REPORT_INFO(arg, expect, operation_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:314,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:316,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:318,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:320,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:321,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:323,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:324,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: byteSize
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:327,1
    - Dst: MATCH2
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P4
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    - byteSize
    - MATCH2
    linkageType: ''
    returnType: void
    signature: "void MATCHER_P4(MatchesReportInfo, expect, request_headers, response_headers,\n
      \          response_trailers, Envoy::EMPTY_STRING)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:334,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesSimpleReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: operation_name::empty
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:342,1
    - Dst: MATCH_DEFAULT_REPORT_INFO
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: espv2::envoy::http_filters::service_control::MATCHER_P
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - MATCH_DEFAULT_REPORT_INFO
    - operation_name::empty
    linkageType: ''
    returnType: void
    signature: void MATCHER_P(MatchesDataReportInfo, expect, Envoy::EMPTY_STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:361,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:362,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:363,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:366,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:372,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:373,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoOperationFound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:388,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:389,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:390,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:393,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:396,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:401,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:402,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 404
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerMissingHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:409,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:415,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:416,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:419,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:422,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:424,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: MatchesSimpleReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:425,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 427
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - EXPECT_CALL
    - callCheck
    - MatchesSimpleReportInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerNoRequirementMatched)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:431,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:439,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:440,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:441,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:442,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:446,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:447,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:449,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:450,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 453
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckNotNeeded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:456,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:467,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:468,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:471,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:472,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:476,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 481
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, RequestHeaderSizeWithModificationInUpstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:486,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:495,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:499,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:501,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:503,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:504,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:508,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:510,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:511,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:513,1
    - Dst: checkAndReset
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 517
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - callCheck
    - callQuota
    - checkAndReset
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCheckMissingApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:522,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:543,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:544,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:545,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:548,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:551,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:552,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:555,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:557,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:558,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:559,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 562
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:567,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:583,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:584,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:585,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:588,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:591,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:592,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:595,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:597,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:598,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:599,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckSyncWithoutApiKeyRestrictionFields)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:607,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:608,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:626,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:627,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:628,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:631,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:634,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:635,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:638,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:640,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:641,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:642,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:650,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:651,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:667,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:668,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:669,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:672,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:675,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:676,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:679,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:681,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:682,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:683,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, TestClientIPWithOutForwardHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:690,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:700,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:701,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:704,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:708,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:714,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:715,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:717,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:720,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:721,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:723,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 725
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:729,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:738,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:741,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:748,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:749,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:751,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:754,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:755,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:757,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 759
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCallQuotaWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:764,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:773,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:783,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:784,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:785,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:788,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:791,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:792,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:793,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:798,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:804,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:805,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 808
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - Status
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:811,1
    - Dst: ServiceControlHandlerImpl::fillFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:820,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:822,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 830
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - setPerRouteOperation
    - ServiceControlHandlerImpl::fillFilterState
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, FillFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:835,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:845,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:846,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:849,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:853,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:857,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:860,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:861,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:863,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:866,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:867,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:869,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 871
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaSync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:876,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:892,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:893,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:894,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:900,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:903,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:904,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:907,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:909,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:910,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:911,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 914
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MatchesCheckInfo
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:919,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:929,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:930,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:933,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:938,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:943,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:944,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:948,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:951,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:954,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:957,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:960,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:961,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:962,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 965
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerSuccessfulQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:970,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:988,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: MatchesCheckInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:989,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:990,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:996,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:997,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1000,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1002,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1004,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1005,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1009,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1013,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1014,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 1017
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - MatchesCheckInfo
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailCheckAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1022,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1032,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1033,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1036,1
    - Dst: find_requirement
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1041,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: callQuota
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: MatchesQuotaInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1046,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1047,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1051,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1056,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1058,1
    - Dst: onCheckDone
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1059,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1063,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1066,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1070,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1071,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1074
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - callQuota
    - find_requirement
    - setPerRouteOperation
    - Status
    - ServiceControlHandlerImpl::callReport
    - onCheckDone
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    - MatchesQuotaInfo
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerFailQuotaAsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1078,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1084,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1089,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1090,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1096,1
    - Dst: stored_on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1098,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1101,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - stored_on_done
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncResetOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1107,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1111,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1116,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1118,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1120,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1123,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1125
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncCalledOnDestroy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1129,1
    - Dst: MockFunction::AsStdFunction
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1133,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1138,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1140,1
    - Dst: on_done
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1143,1
    - Dst: ServiceControlHandlerImpl::callCheck
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1146,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1150,1
    - Dst: ServiceControlHandlerImpl::onDestroy
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1152
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - on_done
    - ServiceControlHandlerImpl::onDestroy
    - Invoke
    - EXPECT_CALL
    - callCheck
    - MockFunction::AsStdFunction
    - Call
    - setPerRouteOperation
    - OkStatus
    - ServiceControlHandlerImpl::callCheck
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerCancelFuncNotCalledOnDestroyForSyncOnDone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1156,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1158,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1168,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1171,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1173,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1174,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1177
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutCheck)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: getTraceIdAsHex
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1181,1
    - Dst: mutable_services
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1182,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1184,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1194,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1197,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1198,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1199,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1202
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - mutable_services
    - callReport
    - getTraceIdAsHex
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithoutTraceId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1206,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1218,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1221,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1222,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1223,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1226
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerTest, HandlerReportWithTrace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: responseCode
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1234,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1235,1
    - Dst: setPerRouteOperation
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1237,1
    - Dst: initExpectedReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1247,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1249,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: MatchesReportInfo
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1252,1
    - Dst: ServiceControlHandlerImpl::callReport
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - http_response_code
    - response_headers
    - response_trailers
    - expected_grpc_status
    argTypes:
    - unsigned int
    - TestResponseHeaderMapImpl
    - TestResponseTrailerMapImpl
    - absl::optional<StatusCode>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1257
    functionName: espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - callReport
    - initExpectedReportInfo
    - MatchesReportInfo
    - EXPECT_CALL
    - Return
    - setPerRouteOperation
    - ServiceControlHandlerImpl::callReport
    - OkStatus
    - responseCode
    linkageType: ''
    returnType: void
    signature: "void runTest(unsigned int http_response_code,\n               TestResponseHeaderMapImpl
      response_headers,\n               TestResponseTrailerMapImpl response_trailers,\n
      \              absl::optional<StatusCode> expected_grpc_status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromTrailers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1274
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, GrpcStatusFromHeaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1280
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, MissingGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadHttpStatusForGrpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1291,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    - Dst: static_cast<StatusCode>
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1294
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - runTest
    - static_cast<StatusCode>
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, WellKnownStatuses)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1298,1
    - Dst: runTest
      Src: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1302
    functionName: espv2::envoy::http_filters::service_control::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
    functionUses: 0
    functionsReached:
    - runTest
    linkageType: ''
    returnType: void
    signature: void TEST_F(HandlerReportStatusTest, BadGrpcStatus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~MockCheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~MockHttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ~MockHttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~MockCheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~MockHttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ~MockHttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~MockCheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~MockHttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ~MockHttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~MockCheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~MockHttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ~MockHttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~MockCheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~MockHttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ~MockHttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~MockCheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~MockHttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ~MockHttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~MockCheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~MockHttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ~MockHttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~MockCheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~MockHttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ~MockHttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~MockCheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~MockHttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ~MockHttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~MockCheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~MockHttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ~MockHttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~MockCheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~MockHttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ~MockHttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~MockCheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~MockHttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ~MockHttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~MockCheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~MockHttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ~MockHttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~MockCheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~MockHttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ~MockHttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~MockCheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~MockHttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ~MockHttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~MockCheckDoneCallback()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockCheckDoneCallback()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 97
    functionName: espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: ~MockHttpCall()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCall()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ~MockHttpCallFactory()
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/mocks.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~MockHttpCallFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:43,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:48,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached:
    - "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
    - serverFactoryContext
    - espv2::envoy::http_filters::service_control::create
    - scope
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterConfig(\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& handler_factory() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlHandlerFactory
    signature: ServiceControlHandlerFactory & handler_factory() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: ServiceControlFilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:43,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:48,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached:
    - "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
    - serverFactoryContext
    - espv2::envoy::http_filters::service_control::create
    - scope
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterConfig(\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& handler_factory() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlHandlerFactory
    signature: ServiceControlHandlerFactory & handler_factory() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: ServiceControlFilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:43,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:48,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached:
    - "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
    - serverFactoryContext
    - espv2::envoy::http_filters::service_control::create
    - scope
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterConfig(\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& handler_factory() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlHandlerFactory
    signature: ServiceControlHandlerFactory & handler_factory() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: ServiceControlFilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:43,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:48,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached:
    - "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
    - serverFactoryContext
    - espv2::envoy::http_filters::service_control::create
    - scope
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterConfig(\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& handler_factory() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlHandlerFactory
    signature: ServiceControlHandlerFactory & handler_factory() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: ServiceControlFilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:43,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:48,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached:
    - "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
    - serverFactoryContext
    - espv2::envoy::http_filters::service_control::create
    - scope
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterConfig(\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& handler_factory() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlHandlerFactory
    signature: ServiceControlHandlerFactory & handler_factory() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: ServiceControlFilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:43,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:48,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached:
    - "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
    - serverFactoryContext
    - espv2::envoy::http_filters::service_control::create
    - scope
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterConfig(\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& handler_factory() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlHandlerFactory
    signature: ServiceControlHandlerFactory & handler_factory() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: ServiceControlFilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:43,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:48,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached:
    - "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
    - serverFactoryContext
    - espv2::envoy::http_filters::service_control::create
    - scope
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterConfig(\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& handler_factory() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlHandlerFactory
    signature: ServiceControlHandlerFactory & handler_factory() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: ServiceControlFilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:43,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:48,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached:
    - "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
    - serverFactoryContext
    - espv2::envoy::http_filters::service_control::create
    - scope
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterConfig(\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& handler_factory() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlHandlerFactory
    signature: ServiceControlHandlerFactory & handler_factory() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: ServiceControlFilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:43,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:48,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached:
    - "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
    - serverFactoryContext
    - espv2::envoy::http_filters::service_control::create
    - scope
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterConfig(\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& handler_factory() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlHandlerFactory
    signature: ServiceControlHandlerFactory & handler_factory() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: ServiceControlFilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:43,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:48,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached:
    - "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
    - serverFactoryContext
    - espv2::envoy::http_filters::service_control::create
    - scope
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterConfig(\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& handler_factory() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlHandlerFactory
    signature: ServiceControlHandlerFactory & handler_factory() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: ServiceControlFilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:43,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:48,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached:
    - "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
    - serverFactoryContext
    - espv2::envoy::http_filters::service_control::create
    - scope
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterConfig(\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& handler_factory() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlHandlerFactory
    signature: ServiceControlHandlerFactory & handler_factory() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: ServiceControlFilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:43,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:48,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached:
    - "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
    - serverFactoryContext
    - espv2::envoy::http_filters::service_control::create
    - scope
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterConfig(\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& handler_factory() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlHandlerFactory
    signature: ServiceControlHandlerFactory & handler_factory() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: ServiceControlFilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:43,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:48,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached:
    - "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
    - serverFactoryContext
    - espv2::envoy::http_filters::service_control::create
    - scope
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterConfig(\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& handler_factory() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlHandlerFactory
    signature: ServiceControlHandlerFactory & handler_factory() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: ServiceControlFilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:43,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:48,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached:
    - "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
    - serverFactoryContext
    - espv2::envoy::http_filters::service_control::create
    - scope
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterConfig(\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& handler_factory() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlHandlerFactory
    signature: ServiceControlHandlerFactory & handler_factory() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: ServiceControlFilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:43,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:48,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached:
    - "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
    - serverFactoryContext
    - espv2::envoy::http_filters::service_control::create
    - scope
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterConfig(\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& handler_factory() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlHandlerFactory
    signature: ServiceControlHandlerFactory & handler_factory() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: ServiceControlFilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::http_filters::service_control::create
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: scope
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:41,1
    - Dst: "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:43,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:48,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/filter_config.h:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached:
    - "std::make_shared<\n                ::espv2::api::envoy::v12::http::service_control::FilterConfig>"
    - serverFactoryContext
    - espv2::envoy::http_filters::service_control::create
    - scope
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilterConfig(\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: '& handler_factory() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlHandlerFactory
    signature: ServiceControlHandlerFactory & handler_factory() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '& stats()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_config.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: ServiceControlFilterStats & stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<ServiceControlFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:44,1
    - Dst: std::make_shared<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:48,1
    - Dst: auto::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: auto::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:50,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:51,1
    - Dst: addAccessLogHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:52,1
    - Dst: Envoy::AccessLog::InstanceSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<ServiceControlFilterConfig>
    - std::make_shared<ServiceControlFilter>
    - auto::handler_factory
    - Envoy::AccessLog::InstanceSharedPtr
    - auto::stats
    - addAccessLogHandler
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig&
      per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n      Envoy::ProtobufMessage::ValidationVisitor&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<ServiceControlFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:44,1
    - Dst: std::make_shared<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:48,1
    - Dst: auto::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: auto::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:50,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:51,1
    - Dst: addAccessLogHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:52,1
    - Dst: Envoy::AccessLog::InstanceSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<ServiceControlFilterConfig>
    - std::make_shared<ServiceControlFilter>
    - auto::handler_factory
    - Envoy::AccessLog::InstanceSharedPtr
    - auto::stats
    - addAccessLogHandler
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig&
      per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n      Envoy::ProtobufMessage::ValidationVisitor&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<ServiceControlFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:44,1
    - Dst: std::make_shared<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:48,1
    - Dst: auto::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: auto::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:50,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:51,1
    - Dst: addAccessLogHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:52,1
    - Dst: Envoy::AccessLog::InstanceSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<ServiceControlFilterConfig>
    - std::make_shared<ServiceControlFilter>
    - auto::handler_factory
    - Envoy::AccessLog::InstanceSharedPtr
    - auto::stats
    - addAccessLogHandler
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig&
      per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n      Envoy::ProtobufMessage::ValidationVisitor&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<ServiceControlFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:44,1
    - Dst: std::make_shared<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:48,1
    - Dst: auto::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: auto::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:50,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:51,1
    - Dst: addAccessLogHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:52,1
    - Dst: Envoy::AccessLog::InstanceSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<ServiceControlFilterConfig>
    - std::make_shared<ServiceControlFilter>
    - auto::handler_factory
    - Envoy::AccessLog::InstanceSharedPtr
    - auto::stats
    - addAccessLogHandler
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig&
      per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n      Envoy::ProtobufMessage::ValidationVisitor&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<ServiceControlFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:44,1
    - Dst: std::make_shared<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:48,1
    - Dst: auto::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: auto::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:50,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:51,1
    - Dst: addAccessLogHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:52,1
    - Dst: Envoy::AccessLog::InstanceSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<ServiceControlFilterConfig>
    - std::make_shared<ServiceControlFilter>
    - auto::handler_factory
    - Envoy::AccessLog::InstanceSharedPtr
    - auto::stats
    - addAccessLogHandler
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig&
      per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n      Envoy::ProtobufMessage::ValidationVisitor&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<ServiceControlFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:44,1
    - Dst: std::make_shared<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:48,1
    - Dst: auto::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: auto::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:50,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:51,1
    - Dst: addAccessLogHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:52,1
    - Dst: Envoy::AccessLog::InstanceSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<ServiceControlFilterConfig>
    - std::make_shared<ServiceControlFilter>
    - auto::handler_factory
    - Envoy::AccessLog::InstanceSharedPtr
    - auto::stats
    - addAccessLogHandler
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig&
      per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n      Envoy::ProtobufMessage::ValidationVisitor&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<ServiceControlFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:44,1
    - Dst: std::make_shared<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:48,1
    - Dst: auto::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: auto::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:50,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:51,1
    - Dst: addAccessLogHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:52,1
    - Dst: Envoy::AccessLog::InstanceSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<ServiceControlFilterConfig>
    - std::make_shared<ServiceControlFilter>
    - auto::handler_factory
    - Envoy::AccessLog::InstanceSharedPtr
    - auto::stats
    - addAccessLogHandler
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig&
      per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n      Envoy::ProtobufMessage::ValidationVisitor&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<ServiceControlFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:44,1
    - Dst: std::make_shared<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:48,1
    - Dst: auto::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: auto::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:50,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:51,1
    - Dst: addAccessLogHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:52,1
    - Dst: Envoy::AccessLog::InstanceSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<ServiceControlFilterConfig>
    - std::make_shared<ServiceControlFilter>
    - auto::handler_factory
    - Envoy::AccessLog::InstanceSharedPtr
    - auto::stats
    - addAccessLogHandler
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig&
      per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n      Envoy::ProtobufMessage::ValidationVisitor&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<ServiceControlFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:44,1
    - Dst: std::make_shared<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:48,1
    - Dst: auto::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: auto::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:50,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:51,1
    - Dst: addAccessLogHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:52,1
    - Dst: Envoy::AccessLog::InstanceSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<ServiceControlFilterConfig>
    - std::make_shared<ServiceControlFilter>
    - auto::handler_factory
    - Envoy::AccessLog::InstanceSharedPtr
    - auto::stats
    - addAccessLogHandler
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig&
      per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n      Envoy::ProtobufMessage::ValidationVisitor&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<ServiceControlFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:44,1
    - Dst: std::make_shared<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:48,1
    - Dst: auto::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: auto::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:50,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:51,1
    - Dst: addAccessLogHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:52,1
    - Dst: Envoy::AccessLog::InstanceSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<ServiceControlFilterConfig>
    - std::make_shared<ServiceControlFilter>
    - auto::handler_factory
    - Envoy::AccessLog::InstanceSharedPtr
    - auto::stats
    - addAccessLogHandler
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig&
      per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n      Envoy::ProtobufMessage::ValidationVisitor&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<ServiceControlFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:44,1
    - Dst: std::make_shared<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:48,1
    - Dst: auto::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: auto::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:50,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:51,1
    - Dst: addAccessLogHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:52,1
    - Dst: Envoy::AccessLog::InstanceSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<ServiceControlFilterConfig>
    - std::make_shared<ServiceControlFilter>
    - auto::handler_factory
    - Envoy::AccessLog::InstanceSharedPtr
    - auto::stats
    - addAccessLogHandler
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig&
      per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n      Envoy::ProtobufMessage::ValidationVisitor&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<ServiceControlFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:44,1
    - Dst: std::make_shared<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:48,1
    - Dst: auto::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: auto::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:50,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:51,1
    - Dst: addAccessLogHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:52,1
    - Dst: Envoy::AccessLog::InstanceSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<ServiceControlFilterConfig>
    - std::make_shared<ServiceControlFilter>
    - auto::handler_factory
    - Envoy::AccessLog::InstanceSharedPtr
    - auto::stats
    - addAccessLogHandler
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig&
      per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n      Envoy::ProtobufMessage::ValidationVisitor&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<ServiceControlFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:44,1
    - Dst: std::make_shared<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:48,1
    - Dst: auto::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: auto::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:50,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:51,1
    - Dst: addAccessLogHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:52,1
    - Dst: Envoy::AccessLog::InstanceSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<ServiceControlFilterConfig>
    - std::make_shared<ServiceControlFilter>
    - auto::handler_factory
    - Envoy::AccessLog::InstanceSharedPtr
    - auto::stats
    - addAccessLogHandler
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig&
      per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n      Envoy::ProtobufMessage::ValidationVisitor&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<ServiceControlFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:44,1
    - Dst: std::make_shared<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:48,1
    - Dst: auto::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: auto::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:50,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:51,1
    - Dst: addAccessLogHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:52,1
    - Dst: Envoy::AccessLog::InstanceSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<ServiceControlFilterConfig>
    - std::make_shared<ServiceControlFilter>
    - auto::handler_factory
    - Envoy::AccessLog::InstanceSharedPtr
    - auto::stats
    - addAccessLogHandler
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig&
      per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n      Envoy::ProtobufMessage::ValidationVisitor&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<ServiceControlFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:44,1
    - Dst: std::make_shared<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:48,1
    - Dst: auto::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: auto::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:50,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:51,1
    - Dst: addAccessLogHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:52,1
    - Dst: Envoy::AccessLog::InstanceSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<ServiceControlFilterConfig>
    - std::make_shared<ServiceControlFilter>
    - auto::handler_factory
    - Envoy::AccessLog::InstanceSharedPtr
    - auto::stats
    - addAccessLogHandler
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig&
      per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n      Envoy::ProtobufMessage::ValidationVisitor&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FilterFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<ServiceControlFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:44,1
    - Dst: std::make_shared<ServiceControlFilter>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:48,1
    - Dst: auto::stats
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: auto::handler_factory
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:49,1
    - Dst: addStreamDecoderFilter
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:50,1
    - Dst: Envoy::Http::StreamDecoderFilterSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:51,1
    - Dst: addAccessLogHandler
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:52,1
    - Dst: Envoy::AccessLog::InstanceSharedPtr
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - "\n          proto_config"
    - ' stats_prefix'
    - ' context'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - Envoy::Http::StreamDecoderFilterSharedPtr
    - addStreamDecoderFilter
    - std::make_shared<ServiceControlFilterConfig>
    - std::make_shared<ServiceControlFilter>
    - auto::handler_factory
    - Envoy::AccessLog::InstanceSharedPtr
    - auto::stats
    - addAccessLogHandler
    linkageType: ''
    returnType: Envoy::Http::FilterFactoryCb
    signature: "Envoy::Http::FilterFactoryCb createFilterFactoryFromProtoTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         proto_config,\n      const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_shared<PerRouteFilterConfig>
      Src: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' per_route'
    argTypes:
    - "::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
    functionUses: 0
    functionsReached:
    - std::make_shared<PerRouteFilterConfig>
    linkageType: ''
    returnType: Envoy::Router::RouteSpecificFilterConfigConstSharedPtr
    signature: "Envoy::Router::RouteSpecificFilterConfigConstSharedPtr createRouteSpecificFilterConfigTyped(\n
      \     const ::espv2::api::envoy::v12::http::service_control::\n          PerRouteFilterConfig&
      per_route,\n      Envoy::Server::Configuration::ServerFactoryContext&,\n      Envoy::ProtobufMessage::ValidationVisitor&)
      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats'
    - ' factory'
    argTypes:
    - ServiceControlFilterStats
    - ServiceControlHandlerFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter(ServiceControlFilterStats& stats,\n                       const
      ServiceControlHandlerFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats'
    - ' factory'
    argTypes:
    - ServiceControlFilterStats
    - ServiceControlHandlerFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter(ServiceControlFilterStats& stats,\n                       const
      ServiceControlHandlerFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats'
    - ' factory'
    argTypes:
    - ServiceControlFilterStats
    - ServiceControlHandlerFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter(ServiceControlFilterStats& stats,\n                       const
      ServiceControlHandlerFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats'
    - ' factory'
    argTypes:
    - ServiceControlFilterStats
    - ServiceControlHandlerFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter(ServiceControlFilterStats& stats,\n                       const
      ServiceControlHandlerFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats'
    - ' factory'
    argTypes:
    - ServiceControlFilterStats
    - ServiceControlHandlerFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter(ServiceControlFilterStats& stats,\n                       const
      ServiceControlHandlerFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats'
    - ' factory'
    argTypes:
    - ServiceControlFilterStats
    - ServiceControlHandlerFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter(ServiceControlFilterStats& stats,\n                       const
      ServiceControlHandlerFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats'
    - ' factory'
    argTypes:
    - ServiceControlFilterStats
    - ServiceControlHandlerFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter(ServiceControlFilterStats& stats,\n                       const
      ServiceControlHandlerFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats'
    - ' factory'
    argTypes:
    - ServiceControlFilterStats
    - ServiceControlHandlerFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter(ServiceControlFilterStats& stats,\n                       const
      ServiceControlHandlerFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats'
    - ' factory'
    argTypes:
    - ServiceControlFilterStats
    - ServiceControlHandlerFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter(ServiceControlFilterStats& stats,\n                       const
      ServiceControlHandlerFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats'
    - ' factory'
    argTypes:
    - ServiceControlFilterStats
    - ServiceControlHandlerFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter(ServiceControlFilterStats& stats,\n                       const
      ServiceControlHandlerFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats'
    - ' factory'
    argTypes:
    - ServiceControlFilterStats
    - ServiceControlHandlerFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter(ServiceControlFilterStats& stats,\n                       const
      ServiceControlHandlerFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats'
    - ' factory'
    argTypes:
    - ServiceControlFilterStats
    - ServiceControlHandlerFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter(ServiceControlFilterStats& stats,\n                       const
      ServiceControlHandlerFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats'
    - ' factory'
    argTypes:
    - ServiceControlFilterStats
    - ServiceControlHandlerFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter(ServiceControlFilterStats& stats,\n                       const
      ServiceControlHandlerFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats'
    - ' factory'
    argTypes:
    - ServiceControlFilterStats
    - ServiceControlHandlerFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter(ServiceControlFilterStats& stats,\n                       const
      ServiceControlHandlerFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats'
    - ' factory'
    argTypes:
    - ServiceControlFilterStats
    - ServiceControlHandlerFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter(ServiceControlFilterStats& stats,\n                       const
      ServiceControlHandlerFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ' stats'
    - ' factory'
    argTypes:
    - ServiceControlFilterStats
    - ServiceControlHandlerFactory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlFilter(ServiceControlFilterStats& stats,\n                       const
      ServiceControlHandlerFactory& factory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:38,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:39,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:43,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:48,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:50,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - imds_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createImdsTokenSub()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:57,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:60,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:62,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:64,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:66,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:67,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:70,1
    - Dst: Envoy::EnvoyException
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:75,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:81,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:82,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:83,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:84,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:86,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:88,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:89,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:93,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:94,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:96,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:97,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - dep_error_behavior
    - iam_token
    - createIamTokenSubscriber
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - Envoy::EnvoyException
    - std::string
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createIamTokenSub()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:110,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:113,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:114,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:115,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:116,1
    - Dst: std::make_shared<ThreadLocalCache>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:118,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:123,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:128,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:132,1
    - Dst: has_service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:135,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::Load
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:140,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:141,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - proto_config
    - ' config'
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - Service
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - service_config_id
    - RequestBuilder::RequestBuilder
    - std::make_shared<ThreadLocalCache>
    - absl::StrCat
    - espv2::api_proxy::service_control::LogsMetricsLoader::Load
    - service_name
    - PANIC
    - has_service_config
    - serverFactoryContext
    - set
    - service_config
    - reset
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    - access_token_case
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::ServiceControlCallImpl(\n    FilterConfigProtoSharedPtr
      proto_config, const Service& config,\n    const std::string& stats_prefix,\n
      \   Envoy::Server::Configuration::FactoryContext& context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:152,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: ::google::api::servicecontrol::v1::CheckRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' request_info'
    - ' parent_span'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::CheckRequestInfo
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - FillCheckRequest
    - ::google::api::servicecontrol::v1::CheckRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ServiceControlCallImpl::callCheck(\n    const ::espv2::api_proxy::service_control::CheckRequestInfo&
      request_info,\n    Envoy::Tracing::Span& parent_span, CheckDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:161,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request_info'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::QuotaRequestInfo
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callQuota(\n    const ::espv2::api_proxy::service_control::QuotaRequestInfo&
      request_info,\n    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:170,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: ::google::api::servicecontrol::v1::ReportRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - "\n        request_info"
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::ReportRequest::DebugString
    - getTLCache
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callReport(\n    const ::espv2::api_proxy::service_control::ReportRequestInfo&\n
      \       request_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:38,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:39,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:43,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:48,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:50,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 1
    functionsReached:
    - dep_error_behavior
    - imds_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createImdsTokenSub()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:57,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:60,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:62,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:64,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:66,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:67,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:70,1
    - Dst: Envoy::EnvoyException
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:75,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:81,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:82,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:83,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:84,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:86,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:88,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:89,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:93,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:94,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:96,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:97,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 1
    functionsReached:
    - dep_error_behavior
    - iam_token
    - createIamTokenSubscriber
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - Envoy::EnvoyException
    - std::string
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createIamTokenSub()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:110,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:113,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:114,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:115,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:116,1
    - Dst: std::make_shared<ThreadLocalCache>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:118,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:123,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:128,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:132,1
    - Dst: has_service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:135,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::Load
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:140,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:141,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - proto_config
    - ' config'
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - Service
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - service_config_id
    - RequestBuilder::RequestBuilder
    - std::make_shared<ThreadLocalCache>
    - absl::StrCat
    - espv2::api_proxy::service_control::LogsMetricsLoader::Load
    - service_name
    - PANIC
    - has_service_config
    - serverFactoryContext
    - set
    - service_config
    - reset
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    - access_token_case
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::ServiceControlCallImpl(\n    FilterConfigProtoSharedPtr
      proto_config, const Service& config,\n    const std::string& stats_prefix,\n
      \   Envoy::Server::Configuration::FactoryContext& context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:152,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: ::google::api::servicecontrol::v1::CheckRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' request_info'
    - ' parent_span'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::CheckRequestInfo
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - FillCheckRequest
    - ::google::api::servicecontrol::v1::CheckRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ServiceControlCallImpl::callCheck(\n    const ::espv2::api_proxy::service_control::CheckRequestInfo&
      request_info,\n    Envoy::Tracing::Span& parent_span, CheckDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:161,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request_info'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::QuotaRequestInfo
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callQuota(\n    const ::espv2::api_proxy::service_control::QuotaRequestInfo&
      request_info,\n    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:170,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: ::google::api::servicecontrol::v1::ReportRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - "\n        request_info"
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::ReportRequest::DebugString
    - getTLCache
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callReport(\n    const ::espv2::api_proxy::service_control::ReportRequestInfo&\n
      \       request_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:38,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:39,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:43,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:48,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:50,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 2
    functionsReached:
    - dep_error_behavior
    - imds_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createImdsTokenSub()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:57,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:60,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:62,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:64,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:66,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:67,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:70,1
    - Dst: Envoy::EnvoyException
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:75,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:81,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:82,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:83,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:84,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:86,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:88,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:89,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:93,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:94,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:96,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:97,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 2
    functionsReached:
    - dep_error_behavior
    - iam_token
    - createIamTokenSubscriber
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - Envoy::EnvoyException
    - std::string
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createIamTokenSub()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:110,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:113,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:114,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:115,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:116,1
    - Dst: std::make_shared<ThreadLocalCache>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:118,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:123,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:128,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:132,1
    - Dst: has_service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:135,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::Load
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:140,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:141,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - proto_config
    - ' config'
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - Service
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - service_config_id
    - RequestBuilder::RequestBuilder
    - std::make_shared<ThreadLocalCache>
    - absl::StrCat
    - espv2::api_proxy::service_control::LogsMetricsLoader::Load
    - service_name
    - PANIC
    - has_service_config
    - serverFactoryContext
    - set
    - service_config
    - reset
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    - access_token_case
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::ServiceControlCallImpl(\n    FilterConfigProtoSharedPtr
      proto_config, const Service& config,\n    const std::string& stats_prefix,\n
      \   Envoy::Server::Configuration::FactoryContext& context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:152,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: ::google::api::servicecontrol::v1::CheckRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' request_info'
    - ' parent_span'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::CheckRequestInfo
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - FillCheckRequest
    - ::google::api::servicecontrol::v1::CheckRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ServiceControlCallImpl::callCheck(\n    const ::espv2::api_proxy::service_control::CheckRequestInfo&
      request_info,\n    Envoy::Tracing::Span& parent_span, CheckDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:161,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request_info'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::QuotaRequestInfo
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callQuota(\n    const ::espv2::api_proxy::service_control::QuotaRequestInfo&
      request_info,\n    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:170,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: ::google::api::servicecontrol::v1::ReportRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - "\n        request_info"
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::ReportRequest::DebugString
    - getTLCache
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callReport(\n    const ::espv2::api_proxy::service_control::ReportRequestInfo&\n
      \       request_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:38,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:39,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:43,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:48,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:50,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 3
    functionsReached:
    - dep_error_behavior
    - imds_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createImdsTokenSub()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:57,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:60,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:62,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:64,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:66,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:67,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:70,1
    - Dst: Envoy::EnvoyException
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:75,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:81,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:82,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:83,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:84,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:86,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:88,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:89,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:93,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:94,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:96,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:97,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 3
    functionsReached:
    - dep_error_behavior
    - iam_token
    - createIamTokenSubscriber
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - Envoy::EnvoyException
    - std::string
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createIamTokenSub()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:110,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:113,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:114,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:115,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:116,1
    - Dst: std::make_shared<ThreadLocalCache>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:118,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:123,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:128,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:132,1
    - Dst: has_service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:135,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::Load
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:140,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:141,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - proto_config
    - ' config'
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - Service
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - service_config_id
    - RequestBuilder::RequestBuilder
    - std::make_shared<ThreadLocalCache>
    - absl::StrCat
    - espv2::api_proxy::service_control::LogsMetricsLoader::Load
    - service_name
    - PANIC
    - has_service_config
    - serverFactoryContext
    - set
    - service_config
    - reset
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    - access_token_case
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::ServiceControlCallImpl(\n    FilterConfigProtoSharedPtr
      proto_config, const Service& config,\n    const std::string& stats_prefix,\n
      \   Envoy::Server::Configuration::FactoryContext& context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:152,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: ::google::api::servicecontrol::v1::CheckRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' request_info'
    - ' parent_span'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::CheckRequestInfo
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - FillCheckRequest
    - ::google::api::servicecontrol::v1::CheckRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ServiceControlCallImpl::callCheck(\n    const ::espv2::api_proxy::service_control::CheckRequestInfo&
      request_info,\n    Envoy::Tracing::Span& parent_span, CheckDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:161,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request_info'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::QuotaRequestInfo
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callQuota(\n    const ::espv2::api_proxy::service_control::QuotaRequestInfo&
      request_info,\n    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:170,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: ::google::api::servicecontrol::v1::ReportRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - "\n        request_info"
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::ReportRequest::DebugString
    - getTLCache
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callReport(\n    const ::espv2::api_proxy::service_control::ReportRequestInfo&\n
      \       request_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:38,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:39,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:43,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:48,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:50,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 4
    functionsReached:
    - dep_error_behavior
    - imds_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createImdsTokenSub()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:57,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:60,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:62,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:64,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:66,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:67,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:70,1
    - Dst: Envoy::EnvoyException
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:75,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:81,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:82,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:83,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:84,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:86,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:88,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:89,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:93,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:94,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:96,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:97,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 4
    functionsReached:
    - dep_error_behavior
    - iam_token
    - createIamTokenSubscriber
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - Envoy::EnvoyException
    - std::string
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createIamTokenSub()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:110,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:113,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:114,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:115,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:116,1
    - Dst: std::make_shared<ThreadLocalCache>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:118,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:123,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:128,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:132,1
    - Dst: has_service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:135,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::Load
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:140,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:141,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - proto_config
    - ' config'
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - Service
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - service_config_id
    - RequestBuilder::RequestBuilder
    - std::make_shared<ThreadLocalCache>
    - absl::StrCat
    - espv2::api_proxy::service_control::LogsMetricsLoader::Load
    - service_name
    - PANIC
    - has_service_config
    - serverFactoryContext
    - set
    - service_config
    - reset
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    - access_token_case
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::ServiceControlCallImpl(\n    FilterConfigProtoSharedPtr
      proto_config, const Service& config,\n    const std::string& stats_prefix,\n
      \   Envoy::Server::Configuration::FactoryContext& context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:152,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: ::google::api::servicecontrol::v1::CheckRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' request_info'
    - ' parent_span'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::CheckRequestInfo
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - FillCheckRequest
    - ::google::api::servicecontrol::v1::CheckRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ServiceControlCallImpl::callCheck(\n    const ::espv2::api_proxy::service_control::CheckRequestInfo&
      request_info,\n    Envoy::Tracing::Span& parent_span, CheckDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:161,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request_info'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::QuotaRequestInfo
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callQuota(\n    const ::espv2::api_proxy::service_control::QuotaRequestInfo&
      request_info,\n    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:170,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: ::google::api::servicecontrol::v1::ReportRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - "\n        request_info"
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::ReportRequest::DebugString
    - getTLCache
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callReport(\n    const ::espv2::api_proxy::service_control::ReportRequestInfo&\n
      \       request_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:38,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:39,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:43,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:48,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:50,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 5
    functionsReached:
    - dep_error_behavior
    - imds_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createImdsTokenSub()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:57,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:60,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:62,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:64,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:66,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:67,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:70,1
    - Dst: Envoy::EnvoyException
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:75,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:81,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:82,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:83,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:84,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:86,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:88,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:89,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:93,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:94,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:96,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:97,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 5
    functionsReached:
    - dep_error_behavior
    - iam_token
    - createIamTokenSubscriber
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - Envoy::EnvoyException
    - std::string
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createIamTokenSub()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:110,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:113,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:114,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:115,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:116,1
    - Dst: std::make_shared<ThreadLocalCache>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:118,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:123,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:128,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:132,1
    - Dst: has_service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:135,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::Load
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:140,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:141,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - proto_config
    - ' config'
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - Service
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - service_config_id
    - RequestBuilder::RequestBuilder
    - std::make_shared<ThreadLocalCache>
    - absl::StrCat
    - espv2::api_proxy::service_control::LogsMetricsLoader::Load
    - service_name
    - PANIC
    - has_service_config
    - serverFactoryContext
    - set
    - service_config
    - reset
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    - access_token_case
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::ServiceControlCallImpl(\n    FilterConfigProtoSharedPtr
      proto_config, const Service& config,\n    const std::string& stats_prefix,\n
      \   Envoy::Server::Configuration::FactoryContext& context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:152,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: ::google::api::servicecontrol::v1::CheckRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' request_info'
    - ' parent_span'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::CheckRequestInfo
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - FillCheckRequest
    - ::google::api::servicecontrol::v1::CheckRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ServiceControlCallImpl::callCheck(\n    const ::espv2::api_proxy::service_control::CheckRequestInfo&
      request_info,\n    Envoy::Tracing::Span& parent_span, CheckDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:161,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request_info'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::QuotaRequestInfo
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callQuota(\n    const ::espv2::api_proxy::service_control::QuotaRequestInfo&
      request_info,\n    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:170,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: ::google::api::servicecontrol::v1::ReportRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - "\n        request_info"
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::ReportRequest::DebugString
    - getTLCache
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callReport(\n    const ::espv2::api_proxy::service_control::ReportRequestInfo&\n
      \       request_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:38,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:39,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:43,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:48,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:50,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 6
    functionsReached:
    - dep_error_behavior
    - imds_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createImdsTokenSub()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:57,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:60,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:62,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:64,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:66,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:67,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:70,1
    - Dst: Envoy::EnvoyException
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:75,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:81,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:82,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:83,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:84,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:86,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:88,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:89,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:93,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:94,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:96,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:97,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 6
    functionsReached:
    - dep_error_behavior
    - iam_token
    - createIamTokenSubscriber
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - Envoy::EnvoyException
    - std::string
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createIamTokenSub()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:110,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:113,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:114,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:115,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:116,1
    - Dst: std::make_shared<ThreadLocalCache>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:118,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:123,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:128,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:132,1
    - Dst: has_service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:135,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::Load
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:140,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:141,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - proto_config
    - ' config'
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - Service
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - service_config_id
    - RequestBuilder::RequestBuilder
    - std::make_shared<ThreadLocalCache>
    - absl::StrCat
    - espv2::api_proxy::service_control::LogsMetricsLoader::Load
    - service_name
    - PANIC
    - has_service_config
    - serverFactoryContext
    - set
    - service_config
    - reset
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    - access_token_case
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::ServiceControlCallImpl(\n    FilterConfigProtoSharedPtr
      proto_config, const Service& config,\n    const std::string& stats_prefix,\n
      \   Envoy::Server::Configuration::FactoryContext& context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:152,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: ::google::api::servicecontrol::v1::CheckRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' request_info'
    - ' parent_span'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::CheckRequestInfo
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - FillCheckRequest
    - ::google::api::servicecontrol::v1::CheckRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ServiceControlCallImpl::callCheck(\n    const ::espv2::api_proxy::service_control::CheckRequestInfo&
      request_info,\n    Envoy::Tracing::Span& parent_span, CheckDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:161,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request_info'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::QuotaRequestInfo
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callQuota(\n    const ::espv2::api_proxy::service_control::QuotaRequestInfo&
      request_info,\n    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:170,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: ::google::api::servicecontrol::v1::ReportRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - "\n        request_info"
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::ReportRequest::DebugString
    - getTLCache
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callReport(\n    const ::espv2::api_proxy::service_control::ReportRequestInfo&\n
      \       request_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:38,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:39,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:43,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:48,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:50,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 7
    functionsReached:
    - dep_error_behavior
    - imds_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createImdsTokenSub()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:57,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:60,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:62,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:64,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:66,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:67,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:70,1
    - Dst: Envoy::EnvoyException
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:75,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:81,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:82,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:83,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:84,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:86,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:88,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:89,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:93,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:94,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:96,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:97,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 7
    functionsReached:
    - dep_error_behavior
    - iam_token
    - createIamTokenSubscriber
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - Envoy::EnvoyException
    - std::string
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createIamTokenSub()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:110,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:113,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:114,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:115,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:116,1
    - Dst: std::make_shared<ThreadLocalCache>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:118,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:123,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:128,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:132,1
    - Dst: has_service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:135,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::Load
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:140,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:141,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - proto_config
    - ' config'
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - Service
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - service_config_id
    - RequestBuilder::RequestBuilder
    - std::make_shared<ThreadLocalCache>
    - absl::StrCat
    - espv2::api_proxy::service_control::LogsMetricsLoader::Load
    - service_name
    - PANIC
    - has_service_config
    - serverFactoryContext
    - set
    - service_config
    - reset
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    - access_token_case
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::ServiceControlCallImpl(\n    FilterConfigProtoSharedPtr
      proto_config, const Service& config,\n    const std::string& stats_prefix,\n
      \   Envoy::Server::Configuration::FactoryContext& context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:152,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: ::google::api::servicecontrol::v1::CheckRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' request_info'
    - ' parent_span'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::CheckRequestInfo
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - FillCheckRequest
    - ::google::api::servicecontrol::v1::CheckRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ServiceControlCallImpl::callCheck(\n    const ::espv2::api_proxy::service_control::CheckRequestInfo&
      request_info,\n    Envoy::Tracing::Span& parent_span, CheckDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:161,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request_info'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::QuotaRequestInfo
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callQuota(\n    const ::espv2::api_proxy::service_control::QuotaRequestInfo&
      request_info,\n    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:170,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: ::google::api::servicecontrol::v1::ReportRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - "\n        request_info"
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::ReportRequest::DebugString
    - getTLCache
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callReport(\n    const ::espv2::api_proxy::service_control::ReportRequestInfo&\n
      \       request_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:38,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:39,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:43,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:48,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:50,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 8
    functionsReached:
    - dep_error_behavior
    - imds_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createImdsTokenSub()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:57,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:60,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:62,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:64,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:66,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:67,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:70,1
    - Dst: Envoy::EnvoyException
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:75,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:81,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:82,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:83,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:84,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:86,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:88,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:89,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:93,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:94,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:96,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:97,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 8
    functionsReached:
    - dep_error_behavior
    - iam_token
    - createIamTokenSubscriber
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - Envoy::EnvoyException
    - std::string
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createIamTokenSub()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:110,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:113,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:114,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:115,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:116,1
    - Dst: std::make_shared<ThreadLocalCache>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:118,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:123,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:128,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:132,1
    - Dst: has_service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:135,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::Load
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:140,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:141,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - proto_config
    - ' config'
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - Service
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - service_config_id
    - RequestBuilder::RequestBuilder
    - std::make_shared<ThreadLocalCache>
    - absl::StrCat
    - espv2::api_proxy::service_control::LogsMetricsLoader::Load
    - service_name
    - PANIC
    - has_service_config
    - serverFactoryContext
    - set
    - service_config
    - reset
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    - access_token_case
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::ServiceControlCallImpl(\n    FilterConfigProtoSharedPtr
      proto_config, const Service& config,\n    const std::string& stats_prefix,\n
      \   Envoy::Server::Configuration::FactoryContext& context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:152,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: ::google::api::servicecontrol::v1::CheckRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' request_info'
    - ' parent_span'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::CheckRequestInfo
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - FillCheckRequest
    - ::google::api::servicecontrol::v1::CheckRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ServiceControlCallImpl::callCheck(\n    const ::espv2::api_proxy::service_control::CheckRequestInfo&
      request_info,\n    Envoy::Tracing::Span& parent_span, CheckDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:161,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request_info'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::QuotaRequestInfo
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callQuota(\n    const ::espv2::api_proxy::service_control::QuotaRequestInfo&
      request_info,\n    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:170,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: ::google::api::servicecontrol::v1::ReportRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - "\n        request_info"
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::ReportRequest::DebugString
    - getTLCache
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callReport(\n    const ::espv2::api_proxy::service_control::ReportRequestInfo&\n
      \       request_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:38,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:39,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:43,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:48,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:50,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 9
    functionsReached:
    - dep_error_behavior
    - imds_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createImdsTokenSub()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:57,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:60,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:62,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:64,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:66,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:67,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:70,1
    - Dst: Envoy::EnvoyException
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:75,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:81,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:82,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:83,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:84,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:86,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:88,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:89,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:93,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:94,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:96,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:97,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 9
    functionsReached:
    - dep_error_behavior
    - iam_token
    - createIamTokenSubscriber
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - Envoy::EnvoyException
    - std::string
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createIamTokenSub()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:110,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:113,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:114,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:115,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:116,1
    - Dst: std::make_shared<ThreadLocalCache>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:118,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:123,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:128,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:132,1
    - Dst: has_service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:135,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::Load
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:140,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:141,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - proto_config
    - ' config'
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - Service
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - service_config_id
    - RequestBuilder::RequestBuilder
    - std::make_shared<ThreadLocalCache>
    - absl::StrCat
    - espv2::api_proxy::service_control::LogsMetricsLoader::Load
    - service_name
    - PANIC
    - has_service_config
    - serverFactoryContext
    - set
    - service_config
    - reset
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    - access_token_case
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::ServiceControlCallImpl(\n    FilterConfigProtoSharedPtr
      proto_config, const Service& config,\n    const std::string& stats_prefix,\n
      \   Envoy::Server::Configuration::FactoryContext& context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:152,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: ::google::api::servicecontrol::v1::CheckRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' request_info'
    - ' parent_span'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::CheckRequestInfo
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - FillCheckRequest
    - ::google::api::servicecontrol::v1::CheckRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ServiceControlCallImpl::callCheck(\n    const ::espv2::api_proxy::service_control::CheckRequestInfo&
      request_info,\n    Envoy::Tracing::Span& parent_span, CheckDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:161,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request_info'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::QuotaRequestInfo
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callQuota(\n    const ::espv2::api_proxy::service_control::QuotaRequestInfo&
      request_info,\n    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:170,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: ::google::api::servicecontrol::v1::ReportRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - "\n        request_info"
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::ReportRequest::DebugString
    - getTLCache
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callReport(\n    const ::espv2::api_proxy::service_control::ReportRequestInfo&\n
      \       request_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:38,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:39,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:43,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:48,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:50,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 10
    functionsReached:
    - dep_error_behavior
    - imds_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createImdsTokenSub()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:57,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:60,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:62,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:64,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:66,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:67,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:70,1
    - Dst: Envoy::EnvoyException
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:75,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:81,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:82,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:83,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:84,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:86,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:88,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:89,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:93,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:94,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:96,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:97,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 10
    functionsReached:
    - dep_error_behavior
    - iam_token
    - createIamTokenSubscriber
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - Envoy::EnvoyException
    - std::string
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createIamTokenSub()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:110,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:113,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:114,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:115,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:116,1
    - Dst: std::make_shared<ThreadLocalCache>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:118,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:123,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:128,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:132,1
    - Dst: has_service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:135,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::Load
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:140,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:141,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - proto_config
    - ' config'
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - Service
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - service_config_id
    - RequestBuilder::RequestBuilder
    - std::make_shared<ThreadLocalCache>
    - absl::StrCat
    - espv2::api_proxy::service_control::LogsMetricsLoader::Load
    - service_name
    - PANIC
    - has_service_config
    - serverFactoryContext
    - set
    - service_config
    - reset
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    - access_token_case
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::ServiceControlCallImpl(\n    FilterConfigProtoSharedPtr
      proto_config, const Service& config,\n    const std::string& stats_prefix,\n
      \   Envoy::Server::Configuration::FactoryContext& context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:152,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: ::google::api::servicecontrol::v1::CheckRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' request_info'
    - ' parent_span'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::CheckRequestInfo
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - FillCheckRequest
    - ::google::api::servicecontrol::v1::CheckRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ServiceControlCallImpl::callCheck(\n    const ::espv2::api_proxy::service_control::CheckRequestInfo&
      request_info,\n    Envoy::Tracing::Span& parent_span, CheckDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:161,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request_info'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::QuotaRequestInfo
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callQuota(\n    const ::espv2::api_proxy::service_control::QuotaRequestInfo&
      request_info,\n    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:170,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: ::google::api::servicecontrol::v1::ReportRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - "\n        request_info"
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::ReportRequest::DebugString
    - getTLCache
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callReport(\n    const ::espv2::api_proxy::service_control::ReportRequestInfo&\n
      \       request_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:38,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:39,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:43,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:48,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:50,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 11
    functionsReached:
    - dep_error_behavior
    - imds_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createImdsTokenSub()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:57,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:60,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:62,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:64,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:66,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:67,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:70,1
    - Dst: Envoy::EnvoyException
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:75,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:81,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:82,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:83,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:84,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:86,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:88,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:89,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:93,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:94,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:96,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:97,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 11
    functionsReached:
    - dep_error_behavior
    - iam_token
    - createIamTokenSubscriber
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - Envoy::EnvoyException
    - std::string
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createIamTokenSub()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:110,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:113,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:114,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:115,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:116,1
    - Dst: std::make_shared<ThreadLocalCache>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:118,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:123,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:128,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:132,1
    - Dst: has_service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:135,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::Load
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:140,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:141,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - proto_config
    - ' config'
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - Service
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - service_config_id
    - RequestBuilder::RequestBuilder
    - std::make_shared<ThreadLocalCache>
    - absl::StrCat
    - espv2::api_proxy::service_control::LogsMetricsLoader::Load
    - service_name
    - PANIC
    - has_service_config
    - serverFactoryContext
    - set
    - service_config
    - reset
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    - access_token_case
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::ServiceControlCallImpl(\n    FilterConfigProtoSharedPtr
      proto_config, const Service& config,\n    const std::string& stats_prefix,\n
      \   Envoy::Server::Configuration::FactoryContext& context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:152,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: ::google::api::servicecontrol::v1::CheckRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' request_info'
    - ' parent_span'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::CheckRequestInfo
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - FillCheckRequest
    - ::google::api::servicecontrol::v1::CheckRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ServiceControlCallImpl::callCheck(\n    const ::espv2::api_proxy::service_control::CheckRequestInfo&
      request_info,\n    Envoy::Tracing::Span& parent_span, CheckDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:161,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request_info'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::QuotaRequestInfo
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callQuota(\n    const ::espv2::api_proxy::service_control::QuotaRequestInfo&
      request_info,\n    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:170,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: ::google::api::servicecontrol::v1::ReportRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - "\n        request_info"
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::ReportRequest::DebugString
    - getTLCache
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callReport(\n    const ::espv2::api_proxy::service_control::ReportRequestInfo&\n
      \       request_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:38,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:39,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:43,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:48,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:50,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 12
    functionsReached:
    - dep_error_behavior
    - imds_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createImdsTokenSub()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:57,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:60,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:62,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:64,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:66,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:67,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:70,1
    - Dst: Envoy::EnvoyException
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:75,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:81,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:82,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:83,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:84,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:86,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:88,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:89,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:93,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:94,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:96,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:97,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 12
    functionsReached:
    - dep_error_behavior
    - iam_token
    - createIamTokenSubscriber
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - Envoy::EnvoyException
    - std::string
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createIamTokenSub()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:110,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:113,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:114,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:115,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:116,1
    - Dst: std::make_shared<ThreadLocalCache>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:118,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:123,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:128,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:132,1
    - Dst: has_service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:135,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::Load
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:140,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:141,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - proto_config
    - ' config'
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - Service
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - service_config_id
    - RequestBuilder::RequestBuilder
    - std::make_shared<ThreadLocalCache>
    - absl::StrCat
    - espv2::api_proxy::service_control::LogsMetricsLoader::Load
    - service_name
    - PANIC
    - has_service_config
    - serverFactoryContext
    - set
    - service_config
    - reset
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    - access_token_case
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::ServiceControlCallImpl(\n    FilterConfigProtoSharedPtr
      proto_config, const Service& config,\n    const std::string& stats_prefix,\n
      \   Envoy::Server::Configuration::FactoryContext& context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:152,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: ::google::api::servicecontrol::v1::CheckRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' request_info'
    - ' parent_span'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::CheckRequestInfo
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - FillCheckRequest
    - ::google::api::servicecontrol::v1::CheckRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ServiceControlCallImpl::callCheck(\n    const ::espv2::api_proxy::service_control::CheckRequestInfo&
      request_info,\n    Envoy::Tracing::Span& parent_span, CheckDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:161,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request_info'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::QuotaRequestInfo
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callQuota(\n    const ::espv2::api_proxy::service_control::QuotaRequestInfo&
      request_info,\n    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:170,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: ::google::api::servicecontrol::v1::ReportRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - "\n        request_info"
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::ReportRequest::DebugString
    - getTLCache
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callReport(\n    const ::espv2::api_proxy::service_control::ReportRequestInfo&\n
      \       request_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:38,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:39,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:43,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:48,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:50,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 13
    functionsReached:
    - dep_error_behavior
    - imds_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createImdsTokenSub()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:57,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:60,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:62,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:64,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:66,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:67,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:70,1
    - Dst: Envoy::EnvoyException
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:75,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:81,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:82,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:83,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:84,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:86,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:88,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:89,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:93,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:94,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:96,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:97,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 13
    functionsReached:
    - dep_error_behavior
    - iam_token
    - createIamTokenSubscriber
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - Envoy::EnvoyException
    - std::string
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createIamTokenSub()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:110,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:113,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:114,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:115,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:116,1
    - Dst: std::make_shared<ThreadLocalCache>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:118,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:123,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:128,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:132,1
    - Dst: has_service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:135,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::Load
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:140,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:141,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - proto_config
    - ' config'
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - Service
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - service_config_id
    - RequestBuilder::RequestBuilder
    - std::make_shared<ThreadLocalCache>
    - absl::StrCat
    - espv2::api_proxy::service_control::LogsMetricsLoader::Load
    - service_name
    - PANIC
    - has_service_config
    - serverFactoryContext
    - set
    - service_config
    - reset
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    - access_token_case
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::ServiceControlCallImpl(\n    FilterConfigProtoSharedPtr
      proto_config, const Service& config,\n    const std::string& stats_prefix,\n
      \   Envoy::Server::Configuration::FactoryContext& context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:152,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: ::google::api::servicecontrol::v1::CheckRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' request_info'
    - ' parent_span'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::CheckRequestInfo
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - FillCheckRequest
    - ::google::api::servicecontrol::v1::CheckRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ServiceControlCallImpl::callCheck(\n    const ::espv2::api_proxy::service_control::CheckRequestInfo&
      request_info,\n    Envoy::Tracing::Span& parent_span, CheckDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:161,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request_info'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::QuotaRequestInfo
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callQuota(\n    const ::espv2::api_proxy::service_control::QuotaRequestInfo&
      request_info,\n    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:170,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: ::google::api::servicecontrol::v1::ReportRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - "\n        request_info"
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::ReportRequest::DebugString
    - getTLCache
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callReport(\n    const ::espv2::api_proxy::service_control::ReportRequestInfo&\n
      \       request_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:38,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:39,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:43,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:48,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:50,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 14
    functionsReached:
    - dep_error_behavior
    - imds_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createImdsTokenSub()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:57,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:60,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:62,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:64,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:66,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:67,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:70,1
    - Dst: Envoy::EnvoyException
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:75,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:81,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:82,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:83,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:84,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:86,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:88,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:89,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:93,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:94,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:96,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:97,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 14
    functionsReached:
    - dep_error_behavior
    - iam_token
    - createIamTokenSubscriber
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - Envoy::EnvoyException
    - std::string
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createIamTokenSub()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:110,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:113,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:114,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:115,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:116,1
    - Dst: std::make_shared<ThreadLocalCache>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:118,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:123,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:128,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:132,1
    - Dst: has_service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:135,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::Load
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:140,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:141,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - proto_config
    - ' config'
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - Service
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - service_config_id
    - RequestBuilder::RequestBuilder
    - std::make_shared<ThreadLocalCache>
    - absl::StrCat
    - espv2::api_proxy::service_control::LogsMetricsLoader::Load
    - service_name
    - PANIC
    - has_service_config
    - serverFactoryContext
    - set
    - service_config
    - reset
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    - access_token_case
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::ServiceControlCallImpl(\n    FilterConfigProtoSharedPtr
      proto_config, const Service& config,\n    const std::string& stats_prefix,\n
      \   Envoy::Server::Configuration::FactoryContext& context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:152,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: ::google::api::servicecontrol::v1::CheckRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' request_info'
    - ' parent_span'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::CheckRequestInfo
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - FillCheckRequest
    - ::google::api::servicecontrol::v1::CheckRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ServiceControlCallImpl::callCheck(\n    const ::espv2::api_proxy::service_control::CheckRequestInfo&
      request_info,\n    Envoy::Tracing::Span& parent_span, CheckDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:161,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request_info'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::QuotaRequestInfo
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callQuota(\n    const ::espv2::api_proxy::service_control::QuotaRequestInfo&
      request_info,\n    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:170,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: ::google::api::servicecontrol::v1::ReportRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - "\n        request_info"
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::ReportRequest::DebugString
    - getTLCache
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callReport(\n    const ::espv2::api_proxy::service_control::ReportRequestInfo&\n
      \       request_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:38,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:39,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: imds_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:41,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:43,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:44,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:47,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:48,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:50,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 15
    functionsReached:
    - dep_error_behavior
    - imds_token
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createImdsTokenSub()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:57,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:60,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:62,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:63,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:64,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:66,1
    - Dst: createImdsTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:67,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:70,1
    - Dst: Envoy::EnvoyException
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:75,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:81,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:82,1
    - Dst: TimeUtil::DurationToSeconds
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:83,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:84,1
    - Dst: dep_error_behavior
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:86,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:88,1
    - Dst: createIamTokenSubscriber
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:89,1
    - Dst: std::make_shared<std::string>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:93,1
    - Dst: runOnAllThreads
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:94,1
    - Dst: set_sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:96,1
    - Dst: set_quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:97,1
    - Dst: iam_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 102
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 15
    functionsReached:
    - dep_error_behavior
    - iam_token
    - createIamTokenSubscriber
    - std::make_shared<std::string>
    - runOnAllThreads
    - set_sc_token
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - set_quota_token
    - TimeUtil::DurationToSeconds
    - Envoy::EnvoyException
    - std::string
    - createImdsTokenSubscriber
    linkageType: ''
    returnType: void
    signature: void ServiceControlCallImpl::createIamTokenSub()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:110,1
    - Dst: set
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:113,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:114,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:115,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:116,1
    - Dst: std::make_shared<ThreadLocalCache>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:118,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:123,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:125,1
    - Dst: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:128,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:131,1
    - Dst: access_token_case
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:132,1
    - Dst: has_service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:135,1
    - Dst: espv2::api_proxy::service_control::LogsMetricsLoader::Load
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: service_config
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:137,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:140,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:141,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:139,1
    - Dst: reset
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    - Dst: service_name
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: service_config_id
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:144,1
    - Dst: RequestBuilder::RequestBuilder
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - proto_config
    - ' config'
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - Service
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 146
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - service_config_id
    - RequestBuilder::RequestBuilder
    - std::make_shared<ThreadLocalCache>
    - absl::StrCat
    - espv2::api_proxy::service_control::LogsMetricsLoader::Load
    - service_name
    - PANIC
    - has_service_config
    - serverFactoryContext
    - set
    - service_config
    - reset
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
    - access_token_case
    - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::ServiceControlCallImpl(\n    FilterConfigProtoSharedPtr
      proto_config, const Service& config,\n    const std::string& stats_prefix,\n
      \   Envoy::Server::Configuration::FactoryContext& context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillCheckRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:152,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: ::google::api::servicecontrol::v1::CheckRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:153,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ' request_info'
    - ' parent_span'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::CheckRequestInfo
    - Envoy::Tracing::Span
    - CheckDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - FillCheckRequest
    - ::google::api::servicecontrol::v1::CheckRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: CancelFunc
    signature: "CancelFunc ServiceControlCallImpl::callCheck(\n    const ::espv2::api_proxy::service_control::CheckRequestInfo&
      request_info,\n    Envoy::Tracing::Span& parent_span, CheckDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillAllocateQuotaRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:161,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:162,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' request_info'
    - on_done
    argTypes:
    - ::espv2::api_proxy::service_control::QuotaRequestInfo
    - QuotaDoneFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - FillAllocateQuotaRequest
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::AllocateQuotaRequest::DebugString
    - getTLCache
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callQuota(\n    const ::espv2::api_proxy::service_control::QuotaRequestInfo&
      request_info,\n    QuotaDoneFunc on_done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FillReportRequest
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:170,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: ::google::api::servicecontrol::v1::ReportRequest::DebugString
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:171,1
    - Dst: getTLCache
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - "\n        request_info"
    argTypes:
    - ::espv2::api_proxy::service_control::ReportRequestInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - ::google::api::servicecontrol::v1::ReportRequest::DebugString
    - getTLCache
    - FillReportRequest
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallImpl::callReport(\n    const ::espv2::api_proxy::service_control::ReportRequestInfo&\n
      \       request_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - COUNTER
    - ','
    - HISTOGRAM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_STATS(COUNTER, HISTOGRAM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: CALL_STATUS_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_STATUS_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_HISTOGRAM_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:105,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:106,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:107,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:108,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:109,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:110,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: espv2::envoy::http_filters::service_control::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 224
    functionsReached:
    - CALL_STATUS_STATS
    - FILTER_STATS
    - POOL_COUNTER_PREFIX
    - POOL_HISTOGRAM_PREFIX
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: "ServiceControlFilterStats create(const std::string& prefix,\n                                          Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - COUNTER
    - ','
    - HISTOGRAM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_STATS(COUNTER, HISTOGRAM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: CALL_STATUS_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_STATUS_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_HISTOGRAM_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:105,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:106,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:107,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:108,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:109,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:110,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: espv2::envoy::http_filters::service_control::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 224
    functionsReached:
    - CALL_STATUS_STATS
    - FILTER_STATS
    - POOL_COUNTER_PREFIX
    - POOL_HISTOGRAM_PREFIX
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: "ServiceControlFilterStats create(const std::string& prefix,\n                                          Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - COUNTER
    - ','
    - HISTOGRAM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 50
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_STATS(COUNTER, HISTOGRAM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: CALL_STATUS_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_STATUS_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_HISTOGRAM_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:105,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:106,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:107,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:108,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:109,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:110,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: espv2::envoy::http_filters::service_control::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 224
    functionsReached:
    - CALL_STATUS_STATS
    - FILTER_STATS
    - POOL_COUNTER_PREFIX
    - POOL_HISTOGRAM_PREFIX
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: "ServiceControlFilterStats create(const std::string& prefix,\n                                          Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - COUNTER
    - ','
    - HISTOGRAM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_STATS(COUNTER, HISTOGRAM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: CALL_STATUS_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_STATUS_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_HISTOGRAM_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:105,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:106,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:107,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:108,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:109,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:110,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: espv2::envoy::http_filters::service_control::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 224
    functionsReached:
    - CALL_STATUS_STATS
    - FILTER_STATS
    - POOL_COUNTER_PREFIX
    - POOL_HISTOGRAM_PREFIX
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: "ServiceControlFilterStats create(const std::string& prefix,\n                                          Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - COUNTER
    - ','
    - HISTOGRAM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_STATS(COUNTER, HISTOGRAM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: CALL_STATUS_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_STATUS_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_HISTOGRAM_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:105,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:106,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:107,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:108,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:109,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:110,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: espv2::envoy::http_filters::service_control::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 224
    functionsReached:
    - CALL_STATUS_STATS
    - FILTER_STATS
    - POOL_COUNTER_PREFIX
    - POOL_HISTOGRAM_PREFIX
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: "ServiceControlFilterStats create(const std::string& prefix,\n                                          Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - COUNTER
    - ','
    - HISTOGRAM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_STATS(COUNTER, HISTOGRAM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: CALL_STATUS_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_STATUS_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_HISTOGRAM_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:105,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:106,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:107,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:108,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:109,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:110,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: espv2::envoy::http_filters::service_control::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 224
    functionsReached:
    - CALL_STATUS_STATS
    - FILTER_STATS
    - POOL_COUNTER_PREFIX
    - POOL_HISTOGRAM_PREFIX
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: "ServiceControlFilterStats create(const std::string& prefix,\n                                          Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - COUNTER
    - ','
    - HISTOGRAM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_STATS(COUNTER, HISTOGRAM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: CALL_STATUS_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_STATUS_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_HISTOGRAM_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:105,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:106,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:107,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:108,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:109,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:110,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: espv2::envoy::http_filters::service_control::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 224
    functionsReached:
    - CALL_STATUS_STATS
    - FILTER_STATS
    - POOL_COUNTER_PREFIX
    - POOL_HISTOGRAM_PREFIX
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: "ServiceControlFilterStats create(const std::string& prefix,\n                                          Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - COUNTER
    - ','
    - HISTOGRAM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_STATS(COUNTER, HISTOGRAM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: CALL_STATUS_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_STATUS_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_HISTOGRAM_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:105,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:106,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:107,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:108,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:109,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:110,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: espv2::envoy::http_filters::service_control::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 224
    functionsReached:
    - CALL_STATUS_STATS
    - FILTER_STATS
    - POOL_COUNTER_PREFIX
    - POOL_HISTOGRAM_PREFIX
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: "ServiceControlFilterStats create(const std::string& prefix,\n                                          Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - COUNTER
    - ','
    - HISTOGRAM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_STATS(COUNTER, HISTOGRAM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: CALL_STATUS_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_STATUS_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_HISTOGRAM_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:105,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:106,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:107,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:108,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:109,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:110,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: espv2::envoy::http_filters::service_control::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 224
    functionsReached:
    - CALL_STATUS_STATS
    - FILTER_STATS
    - POOL_COUNTER_PREFIX
    - POOL_HISTOGRAM_PREFIX
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: "ServiceControlFilterStats create(const std::string& prefix,\n                                          Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - COUNTER
    - ','
    - HISTOGRAM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 57
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_STATS(COUNTER, HISTOGRAM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: CALL_STATUS_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_STATUS_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_HISTOGRAM_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:105,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:106,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:107,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:108,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:109,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:110,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: espv2::envoy::http_filters::service_control::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 224
    functionsReached:
    - CALL_STATUS_STATS
    - FILTER_STATS
    - POOL_COUNTER_PREFIX
    - POOL_HISTOGRAM_PREFIX
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: "ServiceControlFilterStats create(const std::string& prefix,\n                                          Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - COUNTER
    - ','
    - HISTOGRAM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_STATS(COUNTER, HISTOGRAM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: CALL_STATUS_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_STATUS_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_HISTOGRAM_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:105,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:106,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:107,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:108,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:109,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:110,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: espv2::envoy::http_filters::service_control::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 224
    functionsReached:
    - CALL_STATUS_STATS
    - FILTER_STATS
    - POOL_COUNTER_PREFIX
    - POOL_HISTOGRAM_PREFIX
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: "ServiceControlFilterStats create(const std::string& prefix,\n                                          Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - COUNTER
    - ','
    - HISTOGRAM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 59
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_STATS(COUNTER, HISTOGRAM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: CALL_STATUS_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_STATUS_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_HISTOGRAM_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:105,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:106,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:107,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:108,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:109,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:110,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: espv2::envoy::http_filters::service_control::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 224
    functionsReached:
    - CALL_STATUS_STATS
    - FILTER_STATS
    - POOL_COUNTER_PREFIX
    - POOL_HISTOGRAM_PREFIX
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: "ServiceControlFilterStats create(const std::string& prefix,\n                                          Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - COUNTER
    - ','
    - HISTOGRAM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 60
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_STATS(COUNTER, HISTOGRAM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: CALL_STATUS_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_STATUS_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_HISTOGRAM_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:105,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:106,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:107,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:108,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:109,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:110,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: espv2::envoy::http_filters::service_control::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 224
    functionsReached:
    - CALL_STATUS_STATS
    - FILTER_STATS
    - POOL_COUNTER_PREFIX
    - POOL_HISTOGRAM_PREFIX
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: "ServiceControlFilterStats create(const std::string& prefix,\n                                          Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - COUNTER
    - ','
    - HISTOGRAM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_STATS(COUNTER, HISTOGRAM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: CALL_STATUS_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_STATUS_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_HISTOGRAM_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:105,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:106,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:107,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:108,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:109,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:110,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: espv2::envoy::http_filters::service_control::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 224
    functionsReached:
    - CALL_STATUS_STATS
    - FILTER_STATS
    - POOL_COUNTER_PREFIX
    - POOL_HISTOGRAM_PREFIX
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: "ServiceControlFilterStats create(const std::string& prefix,\n                                          Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - COUNTER
    - ','
    - HISTOGRAM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_STATS(COUNTER, HISTOGRAM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: CALL_STATUS_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_STATUS_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_HISTOGRAM_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:105,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:106,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:107,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:108,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:109,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:110,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: espv2::envoy::http_filters::service_control::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 224
    functionsReached:
    - CALL_STATUS_STATS
    - FILTER_STATS
    - POOL_COUNTER_PREFIX
    - POOL_HISTOGRAM_PREFIX
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: "ServiceControlFilterStats create(const std::string& prefix,\n                                          Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - COUNTER
    - ','
    - HISTOGRAM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 42
    functionName: FILTER_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 63
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILTER_STATS(COUNTER, HISTOGRAM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: CALL_STATUS_STATS
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALL_STATUS_STATS(COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:104,1
    - Dst: POOL_HISTOGRAM_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:105,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:106,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:107,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:108,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:109,1
    - Dst: CALL_STATUS_STATS
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:110,1
    - Dst: POOL_COUNTER_PREFIX
      Src: /src/esp-v2/src/envoy/http/service_control/filter_stats.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' prefix'
    - ' scope'
    argTypes:
    - std::string
    - Envoy::Stats::Scope
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: espv2::envoy::http_filters::service_control::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    functionUses: 224
    functionsReached:
    - CALL_STATUS_STATS
    - FILTER_STATS
    - POOL_COUNTER_PREFIX
    - POOL_HISTOGRAM_PREFIX
    linkageType: ''
    returnType: ServiceControlFilterStats
    signature: "ServiceControlFilterStats create(const std::string& prefix,\n                                          Envoy::Stats::Scope&
      scope)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:52,1
    - Dst: quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - ' config'
    - "\n          filter_config"
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - sc_token
    - quota_token
    linkageType: ''
    returnType: void
    signature: "void ThreadLocalCache(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         filter_config,\n      const std::string& stats_prefix, Envoy::Stats::Scope&
      scope,\n      Envoy::Upstream::ClusterManager& cm, Envoy::TimeSource& time_source,\n
      \     Envoy::Event::Dispatcher& dispatcher)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_sc_token(TokenSharedPtr sc_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '& sc_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & sc_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - quota_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_quota_token(TokenSharedPtr quota_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '& quota_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & quota_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& client_cache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ClientCache
    signature: ClientCache & client_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& getTLCache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThreadLocalCache
    signature: ThreadLocalCache & getTLCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - proto_config
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallFactoryImpl(\n      FilterConfigProtoSharedPtr
      proto_config, const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ServiceControlCallImpl>
    linkageType: ''
    returnType: ServiceControlCallPtr
    signature: "ServiceControlCallPtr create(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config)\n      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:52,1
    - Dst: quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - ' config'
    - "\n          filter_config"
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - sc_token
    - quota_token
    linkageType: ''
    returnType: void
    signature: "void ThreadLocalCache(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         filter_config,\n      const std::string& stats_prefix, Envoy::Stats::Scope&
      scope,\n      Envoy::Upstream::ClusterManager& cm, Envoy::TimeSource& time_source,\n
      \     Envoy::Event::Dispatcher& dispatcher)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_sc_token(TokenSharedPtr sc_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '& sc_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & sc_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - quota_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_quota_token(TokenSharedPtr quota_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '& quota_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & quota_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& client_cache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ClientCache
    signature: ClientCache & client_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& getTLCache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThreadLocalCache
    signature: ThreadLocalCache & getTLCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - proto_config
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallFactoryImpl(\n      FilterConfigProtoSharedPtr
      proto_config, const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ServiceControlCallImpl>
    linkageType: ''
    returnType: ServiceControlCallPtr
    signature: "ServiceControlCallPtr create(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config)\n      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:52,1
    - Dst: quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - ' config'
    - "\n          filter_config"
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - sc_token
    - quota_token
    linkageType: ''
    returnType: void
    signature: "void ThreadLocalCache(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         filter_config,\n      const std::string& stats_prefix, Envoy::Stats::Scope&
      scope,\n      Envoy::Upstream::ClusterManager& cm, Envoy::TimeSource& time_source,\n
      \     Envoy::Event::Dispatcher& dispatcher)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_sc_token(TokenSharedPtr sc_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '& sc_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & sc_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - quota_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_quota_token(TokenSharedPtr quota_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '& quota_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & quota_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& client_cache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ClientCache
    signature: ClientCache & client_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& getTLCache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThreadLocalCache
    signature: ThreadLocalCache & getTLCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - proto_config
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallFactoryImpl(\n      FilterConfigProtoSharedPtr
      proto_config, const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ServiceControlCallImpl>
    linkageType: ''
    returnType: ServiceControlCallPtr
    signature: "ServiceControlCallPtr create(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config)\n      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:52,1
    - Dst: quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - ' config'
    - "\n          filter_config"
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - sc_token
    - quota_token
    linkageType: ''
    returnType: void
    signature: "void ThreadLocalCache(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         filter_config,\n      const std::string& stats_prefix, Envoy::Stats::Scope&
      scope,\n      Envoy::Upstream::ClusterManager& cm, Envoy::TimeSource& time_source,\n
      \     Envoy::Event::Dispatcher& dispatcher)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_sc_token(TokenSharedPtr sc_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '& sc_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & sc_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - quota_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_quota_token(TokenSharedPtr quota_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '& quota_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & quota_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& client_cache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ClientCache
    signature: ClientCache & client_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& getTLCache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThreadLocalCache
    signature: ThreadLocalCache & getTLCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - proto_config
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallFactoryImpl(\n      FilterConfigProtoSharedPtr
      proto_config, const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ServiceControlCallImpl>
    linkageType: ''
    returnType: ServiceControlCallPtr
    signature: "ServiceControlCallPtr create(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config)\n      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:52,1
    - Dst: quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - ' config'
    - "\n          filter_config"
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - sc_token
    - quota_token
    linkageType: ''
    returnType: void
    signature: "void ThreadLocalCache(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         filter_config,\n      const std::string& stats_prefix, Envoy::Stats::Scope&
      scope,\n      Envoy::Upstream::ClusterManager& cm, Envoy::TimeSource& time_source,\n
      \     Envoy::Event::Dispatcher& dispatcher)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_sc_token(TokenSharedPtr sc_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '& sc_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & sc_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - quota_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_quota_token(TokenSharedPtr quota_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '& quota_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & quota_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& client_cache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ClientCache
    signature: ClientCache & client_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& getTLCache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThreadLocalCache
    signature: ThreadLocalCache & getTLCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - proto_config
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallFactoryImpl(\n      FilterConfigProtoSharedPtr
      proto_config, const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ServiceControlCallImpl>
    linkageType: ''
    returnType: ServiceControlCallPtr
    signature: "ServiceControlCallPtr create(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config)\n      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:52,1
    - Dst: quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - ' config'
    - "\n          filter_config"
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - sc_token
    - quota_token
    linkageType: ''
    returnType: void
    signature: "void ThreadLocalCache(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         filter_config,\n      const std::string& stats_prefix, Envoy::Stats::Scope&
      scope,\n      Envoy::Upstream::ClusterManager& cm, Envoy::TimeSource& time_source,\n
      \     Envoy::Event::Dispatcher& dispatcher)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_sc_token(TokenSharedPtr sc_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '& sc_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & sc_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - quota_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_quota_token(TokenSharedPtr quota_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '& quota_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & quota_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& client_cache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ClientCache
    signature: ClientCache & client_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& getTLCache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThreadLocalCache
    signature: ThreadLocalCache & getTLCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - proto_config
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallFactoryImpl(\n      FilterConfigProtoSharedPtr
      proto_config, const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ServiceControlCallImpl>
    linkageType: ''
    returnType: ServiceControlCallPtr
    signature: "ServiceControlCallPtr create(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config)\n      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:52,1
    - Dst: quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - ' config'
    - "\n          filter_config"
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - sc_token
    - quota_token
    linkageType: ''
    returnType: void
    signature: "void ThreadLocalCache(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         filter_config,\n      const std::string& stats_prefix, Envoy::Stats::Scope&
      scope,\n      Envoy::Upstream::ClusterManager& cm, Envoy::TimeSource& time_source,\n
      \     Envoy::Event::Dispatcher& dispatcher)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_sc_token(TokenSharedPtr sc_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '& sc_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & sc_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - quota_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_quota_token(TokenSharedPtr quota_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '& quota_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & quota_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& client_cache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ClientCache
    signature: ClientCache & client_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& getTLCache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThreadLocalCache
    signature: ThreadLocalCache & getTLCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - proto_config
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallFactoryImpl(\n      FilterConfigProtoSharedPtr
      proto_config, const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ServiceControlCallImpl>
    linkageType: ''
    returnType: ServiceControlCallPtr
    signature: "ServiceControlCallPtr create(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config)\n      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:52,1
    - Dst: quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - ' config'
    - "\n          filter_config"
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - sc_token
    - quota_token
    linkageType: ''
    returnType: void
    signature: "void ThreadLocalCache(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         filter_config,\n      const std::string& stats_prefix, Envoy::Stats::Scope&
      scope,\n      Envoy::Upstream::ClusterManager& cm, Envoy::TimeSource& time_source,\n
      \     Envoy::Event::Dispatcher& dispatcher)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_sc_token(TokenSharedPtr sc_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '& sc_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & sc_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - quota_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_quota_token(TokenSharedPtr quota_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '& quota_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & quota_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& client_cache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ClientCache
    signature: ClientCache & client_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& getTLCache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThreadLocalCache
    signature: ThreadLocalCache & getTLCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - proto_config
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallFactoryImpl(\n      FilterConfigProtoSharedPtr
      proto_config, const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ServiceControlCallImpl>
    linkageType: ''
    returnType: ServiceControlCallPtr
    signature: "ServiceControlCallPtr create(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config)\n      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:52,1
    - Dst: quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - ' config'
    - "\n          filter_config"
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - sc_token
    - quota_token
    linkageType: ''
    returnType: void
    signature: "void ThreadLocalCache(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         filter_config,\n      const std::string& stats_prefix, Envoy::Stats::Scope&
      scope,\n      Envoy::Upstream::ClusterManager& cm, Envoy::TimeSource& time_source,\n
      \     Envoy::Event::Dispatcher& dispatcher)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_sc_token(TokenSharedPtr sc_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '& sc_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & sc_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - quota_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_quota_token(TokenSharedPtr quota_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '& quota_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & quota_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& client_cache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ClientCache
    signature: ClientCache & client_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& getTLCache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThreadLocalCache
    signature: ThreadLocalCache & getTLCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - proto_config
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallFactoryImpl(\n      FilterConfigProtoSharedPtr
      proto_config, const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ServiceControlCallImpl>
    linkageType: ''
    returnType: ServiceControlCallPtr
    signature: "ServiceControlCallPtr create(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config)\n      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:52,1
    - Dst: quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - ' config'
    - "\n          filter_config"
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - sc_token
    - quota_token
    linkageType: ''
    returnType: void
    signature: "void ThreadLocalCache(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         filter_config,\n      const std::string& stats_prefix, Envoy::Stats::Scope&
      scope,\n      Envoy::Upstream::ClusterManager& cm, Envoy::TimeSource& time_source,\n
      \     Envoy::Event::Dispatcher& dispatcher)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_sc_token(TokenSharedPtr sc_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '& sc_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & sc_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - quota_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_quota_token(TokenSharedPtr quota_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '& quota_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & quota_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& client_cache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ClientCache
    signature: ClientCache & client_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& getTLCache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThreadLocalCache
    signature: ThreadLocalCache & getTLCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - proto_config
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallFactoryImpl(\n      FilterConfigProtoSharedPtr
      proto_config, const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ServiceControlCallImpl>
    linkageType: ''
    returnType: ServiceControlCallPtr
    signature: "ServiceControlCallPtr create(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config)\n      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:52,1
    - Dst: quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - ' config'
    - "\n          filter_config"
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - sc_token
    - quota_token
    linkageType: ''
    returnType: void
    signature: "void ThreadLocalCache(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         filter_config,\n      const std::string& stats_prefix, Envoy::Stats::Scope&
      scope,\n      Envoy::Upstream::ClusterManager& cm, Envoy::TimeSource& time_source,\n
      \     Envoy::Event::Dispatcher& dispatcher)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_sc_token(TokenSharedPtr sc_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '& sc_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & sc_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - quota_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_quota_token(TokenSharedPtr quota_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '& quota_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & quota_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& client_cache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ClientCache
    signature: ClientCache & client_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& getTLCache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThreadLocalCache
    signature: ThreadLocalCache & getTLCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - proto_config
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallFactoryImpl(\n      FilterConfigProtoSharedPtr
      proto_config, const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ServiceControlCallImpl>
    linkageType: ''
    returnType: ServiceControlCallPtr
    signature: "ServiceControlCallPtr create(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config)\n      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:52,1
    - Dst: quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - ' config'
    - "\n          filter_config"
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - sc_token
    - quota_token
    linkageType: ''
    returnType: void
    signature: "void ThreadLocalCache(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         filter_config,\n      const std::string& stats_prefix, Envoy::Stats::Scope&
      scope,\n      Envoy::Upstream::ClusterManager& cm, Envoy::TimeSource& time_source,\n
      \     Envoy::Event::Dispatcher& dispatcher)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_sc_token(TokenSharedPtr sc_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '& sc_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & sc_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - quota_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_quota_token(TokenSharedPtr quota_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '& quota_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & quota_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& client_cache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ClientCache
    signature: ClientCache & client_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& getTLCache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThreadLocalCache
    signature: ThreadLocalCache & getTLCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - proto_config
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallFactoryImpl(\n      FilterConfigProtoSharedPtr
      proto_config, const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ServiceControlCallImpl>
    linkageType: ''
    returnType: ServiceControlCallPtr
    signature: "ServiceControlCallPtr create(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config)\n      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:52,1
    - Dst: quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - ' config'
    - "\n          filter_config"
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - sc_token
    - quota_token
    linkageType: ''
    returnType: void
    signature: "void ThreadLocalCache(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         filter_config,\n      const std::string& stats_prefix, Envoy::Stats::Scope&
      scope,\n      Envoy::Upstream::ClusterManager& cm, Envoy::TimeSource& time_source,\n
      \     Envoy::Event::Dispatcher& dispatcher)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_sc_token(TokenSharedPtr sc_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '& sc_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & sc_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - quota_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_quota_token(TokenSharedPtr quota_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '& quota_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & quota_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& client_cache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ClientCache
    signature: ClientCache & client_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& getTLCache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThreadLocalCache
    signature: ThreadLocalCache & getTLCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - proto_config
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallFactoryImpl(\n      FilterConfigProtoSharedPtr
      proto_config, const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ServiceControlCallImpl>
    linkageType: ''
    returnType: ServiceControlCallPtr
    signature: "ServiceControlCallPtr create(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config)\n      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:52,1
    - Dst: quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - ' config'
    - "\n          filter_config"
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - sc_token
    - quota_token
    linkageType: ''
    returnType: void
    signature: "void ThreadLocalCache(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         filter_config,\n      const std::string& stats_prefix, Envoy::Stats::Scope&
      scope,\n      Envoy::Upstream::ClusterManager& cm, Envoy::TimeSource& time_source,\n
      \     Envoy::Event::Dispatcher& dispatcher)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_sc_token(TokenSharedPtr sc_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '& sc_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & sc_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - quota_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_quota_token(TokenSharedPtr quota_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '& quota_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & quota_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& client_cache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ClientCache
    signature: ClientCache & client_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& getTLCache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThreadLocalCache
    signature: ThreadLocalCache & getTLCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - proto_config
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallFactoryImpl(\n      FilterConfigProtoSharedPtr
      proto_config, const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ServiceControlCallImpl>
    linkageType: ''
    returnType: ServiceControlCallPtr
    signature: "ServiceControlCallPtr create(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config)\n      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:52,1
    - Dst: quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - ' config'
    - "\n          filter_config"
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - sc_token
    - quota_token
    linkageType: ''
    returnType: void
    signature: "void ThreadLocalCache(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         filter_config,\n      const std::string& stats_prefix, Envoy::Stats::Scope&
      scope,\n      Envoy::Upstream::ClusterManager& cm, Envoy::TimeSource& time_source,\n
      \     Envoy::Event::Dispatcher& dispatcher)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_sc_token(TokenSharedPtr sc_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '& sc_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & sc_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - quota_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_quota_token(TokenSharedPtr quota_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '& quota_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & quota_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& client_cache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ClientCache
    signature: ClientCache & client_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& getTLCache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThreadLocalCache
    signature: ThreadLocalCache & getTLCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - proto_config
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallFactoryImpl(\n      FilterConfigProtoSharedPtr
      proto_config, const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ServiceControlCallImpl>
    linkageType: ''
    returnType: ServiceControlCallPtr
    signature: "ServiceControlCallPtr create(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config)\n      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sc_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:52,1
    - Dst: quota_token
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - ' config'
    - "\n          filter_config"
    - ' stats_prefix'
    - ' scope'
    - ' cm'
    - ' time_source'
    - ' dispatcher'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    - ::espv2::api::envoy::v12::http::service_control::FilterConfig
    - std::string
    - Envoy::Stats::Scope
    - Envoy::Upstream::ClusterManager
    - Envoy::TimeSource
    - Envoy::Event::Dispatcher
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - sc_token
    - quota_token
    linkageType: ''
    returnType: void
    signature: "void ThreadLocalCache(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config,\n      const ::espv2::api::envoy::v12::http::service_control::FilterConfig&\n
      \         filter_config,\n      const std::string& stats_prefix, Envoy::Stats::Scope&
      scope,\n      Envoy::Upstream::ClusterManager& cm, Envoy::TimeSource& time_source,\n
      \     Envoy::Event::Dispatcher& dispatcher)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_sc_token(TokenSharedPtr sc_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: '& sc_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & sc_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - quota_token
    argTypes:
    - TokenSharedPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_quota_token(TokenSharedPtr quota_token)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: '& quota_token() const'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string & quota_token() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: '& client_cache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ClientCache
    signature: ClientCache & client_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: '& getTLCache()'
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ThreadLocalCache
    signature: ThreadLocalCache & getTLCache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - proto_config
    - ' stats_prefix'
    - ' context'
    argTypes:
    - FilterConfigProtoSharedPtr
    - std::string
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ServiceControlCallFactoryImpl(\n      FilterConfigProtoSharedPtr
      proto_config, const std::string& stats_prefix,\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ServiceControlCallImpl>
      Src: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ' config'
    argTypes:
    - ::espv2::api::envoy::v12::http::service_control::Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
    functionSourceFile: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
    functionUses: 0
    functionsReached:
    - std::make_unique<ServiceControlCallImpl>
    linkageType: ''
    returnType: ServiceControlCallPtr
    signature: "ServiceControlCallPtr create(\n      const ::espv2::api::envoy::v12::http::service_control::Service&
      config)\n      override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:35,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    - EXPECT_TRUE
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, HttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:47,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, NoHttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:35,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    - EXPECT_TRUE
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, HttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:47,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, NoHttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:35,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    - EXPECT_TRUE
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, HttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:47,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, NoHttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:35,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    - EXPECT_TRUE
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, HttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:47,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, NoHttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:35,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    - EXPECT_TRUE
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, HttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:47,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, NoHttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:35,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    - EXPECT_TRUE
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, HttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:47,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, NoHttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:35,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    - EXPECT_TRUE
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, HttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:47,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, NoHttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:35,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    - EXPECT_TRUE
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, HttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:47,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, NoHttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:35,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    - EXPECT_TRUE
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, HttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:47,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, NoHttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:35,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    - EXPECT_TRUE
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, HttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:47,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, NoHttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:35,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    - EXPECT_TRUE
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, HttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:47,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, NoHttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:35,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    - EXPECT_TRUE
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, HttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:47,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, NoHttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:35,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    - EXPECT_TRUE
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, HttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:47,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, NoHttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:35,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    - EXPECT_TRUE
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, HttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:47,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, NoHttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:35,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    - EXPECT_TRUE
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, HttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:47,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, NoHttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::addCopy
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:35,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:38,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:39,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::get
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    - EXPECT_TRUE
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::addCopy
    - Envoy::Http::TestRequestHeaderMapImpl::get
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, HttpMethodOverride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::handleHttpMethodOverride
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:47,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:50,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - espv2::envoy::utils::handleHttpMethodOverride
    - Envoy::Http::TestRequestHeaderMapImpl::Method
    linkageType: ''
    returnType: void
    signature: void TEST(HttpHeaderUtilsTest, NoHttpMethodOverride)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:29,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:30,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:31,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:32,1
    - Dst: auto::second::kind_case
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:35,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:36,1
    - Dst: auto::second::string_value
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:39,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: espv2::envoy::utils::JsonStruct::getString
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.cc
    functionUses: 0
    functionsReached:
    - end
    - Status
    - fields
    - OkStatus
    - auto::second::string_value
    - find
    - auto::second::kind_case
    linkageType: ''
    returnType: Status
    signature: Status JsonStruct::getString(const std::string& key, std::string* value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:44,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:45,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:46,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:47,1
    - Dst: auto::second::kind_case
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:50,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:51,1
    - Dst: auto::second::number_value
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:55,1
    - Dst: std::isnan
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:57,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:58,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:63,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - std::string
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 65
    functionName: espv2::envoy::utils::JsonStruct::getInteger
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - OkStatus
    - end
    - auto::second::number_value
    - Status
    - fields
    - std::isnan
    - find
    - auto::second::kind_case
    linkageType: ''
    returnType: Status
    signature: Status JsonStruct::getInteger(const std::string& key, int* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:70,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:71,1
    - Dst: ::google::protobuf::util::TimeUtil::FromString
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:74,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:75,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - std::string
    - ::google::protobuf::Timestamp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: espv2::envoy::utils::JsonStruct::getTimestamp
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - Status
    - ::google::protobuf::util::TimeUtil::FromString
    - espv2::envoy::utils::JsonStruct::getString
    linkageType: ''
    returnType: Status
    signature: "Status JsonStruct::getTimestamp(const std::string& key,\n                                ::google::protobuf::Timestamp*
      value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:29,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:30,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:31,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:32,1
    - Dst: auto::second::kind_case
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:35,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:36,1
    - Dst: auto::second::string_value
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:39,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: espv2::envoy::utils::JsonStruct::getString
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.cc
    functionUses: 1
    functionsReached:
    - end
    - Status
    - fields
    - OkStatus
    - auto::second::string_value
    - find
    - auto::second::kind_case
    linkageType: ''
    returnType: Status
    signature: Status JsonStruct::getString(const std::string& key, std::string* value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:44,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:45,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:46,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:47,1
    - Dst: auto::second::kind_case
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:50,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:51,1
    - Dst: auto::second::number_value
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:55,1
    - Dst: std::isnan
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:57,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:58,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:63,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - std::string
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 65
    functionName: espv2::envoy::utils::JsonStruct::getInteger
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - OkStatus
    - end
    - auto::second::number_value
    - Status
    - fields
    - std::isnan
    - find
    - auto::second::kind_case
    linkageType: ''
    returnType: Status
    signature: Status JsonStruct::getInteger(const std::string& key, int* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:70,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:71,1
    - Dst: ::google::protobuf::util::TimeUtil::FromString
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:74,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:75,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - std::string
    - ::google::protobuf::Timestamp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: espv2::envoy::utils::JsonStruct::getTimestamp
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - Status
    - ::google::protobuf::util::TimeUtil::FromString
    - espv2::envoy::utils::JsonStruct::getString
    linkageType: ''
    returnType: Status
    signature: "Status JsonStruct::getTimestamp(const std::string& key,\n                                ::google::protobuf::Timestamp*
      value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:29,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:30,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:31,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:32,1
    - Dst: auto::second::kind_case
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:35,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:36,1
    - Dst: auto::second::string_value
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:39,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: espv2::envoy::utils::JsonStruct::getString
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.cc
    functionUses: 2
    functionsReached:
    - end
    - Status
    - fields
    - OkStatus
    - auto::second::string_value
    - find
    - auto::second::kind_case
    linkageType: ''
    returnType: Status
    signature: Status JsonStruct::getString(const std::string& key, std::string* value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:44,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:45,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:46,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:47,1
    - Dst: auto::second::kind_case
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:50,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:51,1
    - Dst: auto::second::number_value
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:55,1
    - Dst: std::isnan
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:57,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:58,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:63,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - std::string
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 65
    functionName: espv2::envoy::utils::JsonStruct::getInteger
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - OkStatus
    - end
    - auto::second::number_value
    - Status
    - fields
    - std::isnan
    - find
    - auto::second::kind_case
    linkageType: ''
    returnType: Status
    signature: Status JsonStruct::getInteger(const std::string& key, int* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:70,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:71,1
    - Dst: ::google::protobuf::util::TimeUtil::FromString
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:74,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:75,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - std::string
    - ::google::protobuf::Timestamp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: espv2::envoy::utils::JsonStruct::getTimestamp
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - Status
    - ::google::protobuf::util::TimeUtil::FromString
    - espv2::envoy::utils::JsonStruct::getString
    linkageType: ''
    returnType: Status
    signature: "Status JsonStruct::getTimestamp(const std::string& key,\n                                ::google::protobuf::Timestamp*
      value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:29,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:30,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:31,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:32,1
    - Dst: auto::second::kind_case
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:35,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:36,1
    - Dst: auto::second::string_value
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:39,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: espv2::envoy::utils::JsonStruct::getString
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.cc
    functionUses: 3
    functionsReached:
    - end
    - Status
    - fields
    - OkStatus
    - auto::second::string_value
    - find
    - auto::second::kind_case
    linkageType: ''
    returnType: Status
    signature: Status JsonStruct::getString(const std::string& key, std::string* value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:44,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:45,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:46,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:47,1
    - Dst: auto::second::kind_case
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:50,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:51,1
    - Dst: auto::second::number_value
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:55,1
    - Dst: std::isnan
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:57,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:58,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:63,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - std::string
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 65
    functionName: espv2::envoy::utils::JsonStruct::getInteger
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - OkStatus
    - end
    - auto::second::number_value
    - Status
    - fields
    - std::isnan
    - find
    - auto::second::kind_case
    linkageType: ''
    returnType: Status
    signature: Status JsonStruct::getInteger(const std::string& key, int* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:70,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:71,1
    - Dst: ::google::protobuf::util::TimeUtil::FromString
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:74,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:75,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - std::string
    - ::google::protobuf::Timestamp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: espv2::envoy::utils::JsonStruct::getTimestamp
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - Status
    - ::google::protobuf::util::TimeUtil::FromString
    - espv2::envoy::utils::JsonStruct::getString
    linkageType: ''
    returnType: Status
    signature: "Status JsonStruct::getTimestamp(const std::string& key,\n                                ::google::protobuf::Timestamp*
      value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:29,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:30,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:31,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:32,1
    - Dst: auto::second::kind_case
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:35,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:36,1
    - Dst: auto::second::string_value
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:39,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: espv2::envoy::utils::JsonStruct::getString
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.cc
    functionUses: 4
    functionsReached:
    - end
    - Status
    - fields
    - OkStatus
    - auto::second::string_value
    - find
    - auto::second::kind_case
    linkageType: ''
    returnType: Status
    signature: Status JsonStruct::getString(const std::string& key, std::string* value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:44,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:45,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:46,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:47,1
    - Dst: auto::second::kind_case
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:50,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:51,1
    - Dst: auto::second::number_value
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:55,1
    - Dst: std::isnan
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:57,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:58,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:63,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - std::string
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 65
    functionName: espv2::envoy::utils::JsonStruct::getInteger
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - OkStatus
    - end
    - auto::second::number_value
    - Status
    - fields
    - std::isnan
    - find
    - auto::second::kind_case
    linkageType: ''
    returnType: Status
    signature: Status JsonStruct::getInteger(const std::string& key, int* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:70,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:71,1
    - Dst: ::google::protobuf::util::TimeUtil::FromString
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:74,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:75,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - std::string
    - ::google::protobuf::Timestamp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: espv2::envoy::utils::JsonStruct::getTimestamp
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - Status
    - ::google::protobuf::util::TimeUtil::FromString
    - espv2::envoy::utils::JsonStruct::getString
    linkageType: ''
    returnType: Status
    signature: "Status JsonStruct::getTimestamp(const std::string& key,\n                                ::google::protobuf::Timestamp*
      value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:29,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:30,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:31,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:32,1
    - Dst: auto::second::kind_case
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:35,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:36,1
    - Dst: auto::second::string_value
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:39,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: espv2::envoy::utils::JsonStruct::getString
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.cc
    functionUses: 5
    functionsReached:
    - end
    - Status
    - fields
    - OkStatus
    - auto::second::string_value
    - find
    - auto::second::kind_case
    linkageType: ''
    returnType: Status
    signature: Status JsonStruct::getString(const std::string& key, std::string* value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:44,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:45,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:46,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:47,1
    - Dst: auto::second::kind_case
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:50,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:51,1
    - Dst: auto::second::number_value
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:55,1
    - Dst: std::isnan
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:57,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:58,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:63,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - std::string
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 65
    functionName: espv2::envoy::utils::JsonStruct::getInteger
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - OkStatus
    - end
    - auto::second::number_value
    - Status
    - fields
    - std::isnan
    - find
    - auto::second::kind_case
    linkageType: ''
    returnType: Status
    signature: Status JsonStruct::getInteger(const std::string& key, int* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:70,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:71,1
    - Dst: ::google::protobuf::util::TimeUtil::FromString
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:74,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:75,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - std::string
    - ::google::protobuf::Timestamp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: espv2::envoy::utils::JsonStruct::getTimestamp
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - Status
    - ::google::protobuf::util::TimeUtil::FromString
    - espv2::envoy::utils::JsonStruct::getString
    linkageType: ''
    returnType: Status
    signature: "Status JsonStruct::getTimestamp(const std::string& key,\n                                ::google::protobuf::Timestamp*
      value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:29,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:30,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:31,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:32,1
    - Dst: auto::second::kind_case
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:35,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:36,1
    - Dst: auto::second::string_value
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:39,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: espv2::envoy::utils::JsonStruct::getString
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.cc
    functionUses: 6
    functionsReached:
    - end
    - Status
    - fields
    - OkStatus
    - auto::second::string_value
    - find
    - auto::second::kind_case
    linkageType: ''
    returnType: Status
    signature: Status JsonStruct::getString(const std::string& key, std::string* value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:44,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:45,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:46,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:47,1
    - Dst: auto::second::kind_case
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:50,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:51,1
    - Dst: auto::second::number_value
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:55,1
    - Dst: std::isnan
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:57,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:58,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:63,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - std::string
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 65
    functionName: espv2::envoy::utils::JsonStruct::getInteger
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - OkStatus
    - end
    - auto::second::number_value
    - Status
    - fields
    - std::isnan
    - find
    - auto::second::kind_case
    linkageType: ''
    returnType: Status
    signature: Status JsonStruct::getInteger(const std::string& key, int* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:70,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:71,1
    - Dst: ::google::protobuf::util::TimeUtil::FromString
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:74,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:75,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - std::string
    - ::google::protobuf::Timestamp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: espv2::envoy::utils::JsonStruct::getTimestamp
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - Status
    - ::google::protobuf::util::TimeUtil::FromString
    - espv2::envoy::utils::JsonStruct::getString
    linkageType: ''
    returnType: Status
    signature: "Status JsonStruct::getTimestamp(const std::string& key,\n                                ::google::protobuf::Timestamp*
      value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:29,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:30,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:31,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:32,1
    - Dst: auto::second::kind_case
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:35,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:36,1
    - Dst: auto::second::string_value
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:39,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - std::string
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: espv2::envoy::utils::JsonStruct::getString
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.cc
    functionUses: 7
    functionsReached:
    - end
    - Status
    - fields
    - OkStatus
    - auto::second::string_value
    - find
    - auto::second::kind_case
    linkageType: ''
    returnType: Status
    signature: Status JsonStruct::getString(const std::string& key, std::string* value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fields
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:44,1
    - Dst: find
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:45,1
    - Dst: end
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:46,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:47,1
    - Dst: auto::second::kind_case
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:50,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:51,1
    - Dst: auto::second::number_value
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:55,1
    - Dst: std::isnan
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:57,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:58,1
    - Dst: static_cast<int>
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:63,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - std::string
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 65
    functionName: espv2::envoy::utils::JsonStruct::getInteger
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.cc
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - OkStatus
    - end
    - auto::second::number_value
    - Status
    - fields
    - std::isnan
    - find
    - auto::second::kind_case
    linkageType: ''
    returnType: Status
    signature: Status JsonStruct::getInteger(const std::string& key, int* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:70,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:71,1
    - Dst: ::google::protobuf::util::TimeUtil::FromString
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:74,1
    - Dst: OkStatus
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:75,1
    - Dst: Status
      Src: /src/esp-v2/src/envoy/utils/json_struct.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' key'
    - value
    argTypes:
    - std::string
    - ::google::protobuf::Timestamp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: espv2::envoy::utils::JsonStruct::getTimestamp
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.cc
    functionUses: 0
    functionsReached:
    - OkStatus
    - Status
    - ::google::protobuf::util::TimeUtil::FromString
    - espv2::envoy::utils::JsonStruct::getString
    linkageType: ''
    returnType: Status
    signature: "Status JsonStruct::getTimestamp(const std::string& key,\n                                ::google::protobuf::Timestamp*
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:48,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 64
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - JsonStruct::getString
    - std::string::empty
    - ::google::protobuf::util::JsonStringToMessage
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:85,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - ::google::protobuf::util::JsonStringToMessage
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:48,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 64
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - JsonStruct::getString
    - std::string::empty
    - ::google::protobuf::util::JsonStringToMessage
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:85,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - ::google::protobuf::util::JsonStringToMessage
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:48,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 64
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - JsonStruct::getString
    - std::string::empty
    - ::google::protobuf::util::JsonStringToMessage
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:85,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - ::google::protobuf::util::JsonStringToMessage
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:48,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 64
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - JsonStruct::getString
    - std::string::empty
    - ::google::protobuf::util::JsonStringToMessage
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:85,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - ::google::protobuf::util::JsonStringToMessage
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:48,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 64
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - JsonStruct::getString
    - std::string::empty
    - ::google::protobuf::util::JsonStringToMessage
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:85,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - ::google::protobuf::util::JsonStringToMessage
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:48,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 64
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - JsonStruct::getString
    - std::string::empty
    - ::google::protobuf::util::JsonStringToMessage
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:85,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - ::google::protobuf::util::JsonStringToMessage
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:48,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 64
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - JsonStruct::getString
    - std::string::empty
    - ::google::protobuf::util::JsonStringToMessage
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:85,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - ::google::protobuf::util::JsonStringToMessage
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:48,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 64
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - JsonStruct::getString
    - std::string::empty
    - ::google::protobuf::util::JsonStringToMessage
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:85,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - ::google::protobuf::util::JsonStringToMessage
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:48,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 64
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - JsonStruct::getString
    - std::string::empty
    - ::google::protobuf::util::JsonStringToMessage
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:85,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - ::google::protobuf::util::JsonStringToMessage
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:48,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 64
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - JsonStruct::getString
    - std::string::empty
    - ::google::protobuf::util::JsonStringToMessage
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:85,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - ::google::protobuf::util::JsonStringToMessage
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:48,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 64
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - JsonStruct::getString
    - std::string::empty
    - ::google::protobuf::util::JsonStringToMessage
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:85,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - ::google::protobuf::util::JsonStringToMessage
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:48,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 64
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - JsonStruct::getString
    - std::string::empty
    - ::google::protobuf::util::JsonStringToMessage
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:85,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - ::google::protobuf::util::JsonStringToMessage
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:48,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 64
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - JsonStruct::getString
    - std::string::empty
    - ::google::protobuf::util::JsonStringToMessage
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:85,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - ::google::protobuf::util::JsonStringToMessage
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:48,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 64
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - JsonStruct::getString
    - std::string::empty
    - ::google::protobuf::util::JsonStringToMessage
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:85,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - ::google::protobuf::util::JsonStringToMessage
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:48,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 64
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - JsonStruct::getString
    - std::string::empty
    - ::google::protobuf::util::JsonStringToMessage
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:85,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - ::google::protobuf::util::JsonStringToMessage
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:40,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:47,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:48,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:52,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:53,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:57,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 64
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - JsonStruct::getString
    - std::string::empty
    - ::google::protobuf::util::JsonStringToMessage
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetString)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:77,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:84,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:85,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:89,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:90,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:94,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_test.cc:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 101
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - EXPECT_TRUE
    - ASSERT_TRUE
    - ::google::protobuf::util::JsonStringToMessage
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void TEST(JsonStructTest, GetInt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setData
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:31,1
    - Dst: std::make_unique<StringAccessorImpl>
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:33,1
    - Dst: StringAccessorImpl
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' filter_state'
    - data_name
    - value
    argTypes:
    - FilterState
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: espv2::envoy::utils::setStringFilterState
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils.cc
    functionUses: 16
    functionsReached:
    - StringAccessorImpl
    - std::make_unique<StringAccessorImpl>
    - setData
    linkageType: ''
    returnType: void
    signature: "void setStringFilterState(FilterState& filter_state,\n                          absl::string_view
      data_name,\n                          absl::string_view value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasData
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:40,1
    - Dst: getDataReadOnly
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' filter_state'
    - data_name
    argTypes:
    - Envoy::StreamInfo::FilterState
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: espv2::envoy::utils::getStringFilterState
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils.cc
    functionUses: 32
    functionsReached:
    - hasData
    - getDataReadOnly
    linkageType: ''
    returnType: absl::string_view
    signature: "absl::string_view getStringFilterState(\n    const Envoy::StreamInfo::FilterState&
      filter_state,\n    absl::string_view data_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setData
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:31,1
    - Dst: std::make_unique<StringAccessorImpl>
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:33,1
    - Dst: StringAccessorImpl
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' filter_state'
    - data_name
    - value
    argTypes:
    - FilterState
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: espv2::envoy::utils::setStringFilterState
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils.cc
    functionUses: 16
    functionsReached:
    - StringAccessorImpl
    - std::make_unique<StringAccessorImpl>
    - setData
    linkageType: ''
    returnType: void
    signature: "void setStringFilterState(FilterState& filter_state,\n                          absl::string_view
      data_name,\n                          absl::string_view value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasData
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:40,1
    - Dst: getDataReadOnly
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' filter_state'
    - data_name
    argTypes:
    - Envoy::StreamInfo::FilterState
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: espv2::envoy::utils::getStringFilterState
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils.cc
    functionUses: 32
    functionsReached:
    - hasData
    - getDataReadOnly
    linkageType: ''
    returnType: absl::string_view
    signature: "absl::string_view getStringFilterState(\n    const Envoy::StreamInfo::FilterState&
      filter_state,\n    absl::string_view data_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setData
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:31,1
    - Dst: std::make_unique<StringAccessorImpl>
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:33,1
    - Dst: StringAccessorImpl
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' filter_state'
    - data_name
    - value
    argTypes:
    - FilterState
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: espv2::envoy::utils::setStringFilterState
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils.cc
    functionUses: 16
    functionsReached:
    - StringAccessorImpl
    - std::make_unique<StringAccessorImpl>
    - setData
    linkageType: ''
    returnType: void
    signature: "void setStringFilterState(FilterState& filter_state,\n                          absl::string_view
      data_name,\n                          absl::string_view value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasData
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:40,1
    - Dst: getDataReadOnly
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' filter_state'
    - data_name
    argTypes:
    - Envoy::StreamInfo::FilterState
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: espv2::envoy::utils::getStringFilterState
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils.cc
    functionUses: 32
    functionsReached:
    - hasData
    - getDataReadOnly
    linkageType: ''
    returnType: absl::string_view
    signature: "absl::string_view getStringFilterState(\n    const Envoy::StreamInfo::FilterState&
      filter_state,\n    absl::string_view data_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setData
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:31,1
    - Dst: std::make_unique<StringAccessorImpl>
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:33,1
    - Dst: StringAccessorImpl
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' filter_state'
    - data_name
    - value
    argTypes:
    - FilterState
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: espv2::envoy::utils::setStringFilterState
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils.cc
    functionUses: 16
    functionsReached:
    - StringAccessorImpl
    - std::make_unique<StringAccessorImpl>
    - setData
    linkageType: ''
    returnType: void
    signature: "void setStringFilterState(FilterState& filter_state,\n                          absl::string_view
      data_name,\n                          absl::string_view value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasData
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:40,1
    - Dst: getDataReadOnly
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' filter_state'
    - data_name
    argTypes:
    - Envoy::StreamInfo::FilterState
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: espv2::envoy::utils::getStringFilterState
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils.cc
    functionUses: 32
    functionsReached:
    - hasData
    - getDataReadOnly
    linkageType: ''
    returnType: absl::string_view
    signature: "absl::string_view getStringFilterState(\n    const Envoy::StreamInfo::FilterState&
      filter_state,\n    absl::string_view data_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setData
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:31,1
    - Dst: std::make_unique<StringAccessorImpl>
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:33,1
    - Dst: StringAccessorImpl
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' filter_state'
    - data_name
    - value
    argTypes:
    - FilterState
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: espv2::envoy::utils::setStringFilterState
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils.cc
    functionUses: 16
    functionsReached:
    - StringAccessorImpl
    - std::make_unique<StringAccessorImpl>
    - setData
    linkageType: ''
    returnType: void
    signature: "void setStringFilterState(FilterState& filter_state,\n                          absl::string_view
      data_name,\n                          absl::string_view value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasData
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:40,1
    - Dst: getDataReadOnly
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' filter_state'
    - data_name
    argTypes:
    - Envoy::StreamInfo::FilterState
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: espv2::envoy::utils::getStringFilterState
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils.cc
    functionUses: 32
    functionsReached:
    - hasData
    - getDataReadOnly
    linkageType: ''
    returnType: absl::string_view
    signature: "absl::string_view getStringFilterState(\n    const Envoy::StreamInfo::FilterState&
      filter_state,\n    absl::string_view data_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setData
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:31,1
    - Dst: std::make_unique<StringAccessorImpl>
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:33,1
    - Dst: StringAccessorImpl
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' filter_state'
    - data_name
    - value
    argTypes:
    - FilterState
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: espv2::envoy::utils::setStringFilterState
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils.cc
    functionUses: 16
    functionsReached:
    - StringAccessorImpl
    - std::make_unique<StringAccessorImpl>
    - setData
    linkageType: ''
    returnType: void
    signature: "void setStringFilterState(FilterState& filter_state,\n                          absl::string_view
      data_name,\n                          absl::string_view value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasData
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:40,1
    - Dst: getDataReadOnly
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' filter_state'
    - data_name
    argTypes:
    - Envoy::StreamInfo::FilterState
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: espv2::envoy::utils::getStringFilterState
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils.cc
    functionUses: 32
    functionsReached:
    - hasData
    - getDataReadOnly
    linkageType: ''
    returnType: absl::string_view
    signature: "absl::string_view getStringFilterState(\n    const Envoy::StreamInfo::FilterState&
      filter_state,\n    absl::string_view data_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setData
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:31,1
    - Dst: std::make_unique<StringAccessorImpl>
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:33,1
    - Dst: StringAccessorImpl
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' filter_state'
    - data_name
    - value
    argTypes:
    - FilterState
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: espv2::envoy::utils::setStringFilterState
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils.cc
    functionUses: 16
    functionsReached:
    - StringAccessorImpl
    - std::make_unique<StringAccessorImpl>
    - setData
    linkageType: ''
    returnType: void
    signature: "void setStringFilterState(FilterState& filter_state,\n                          absl::string_view
      data_name,\n                          absl::string_view value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasData
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:40,1
    - Dst: getDataReadOnly
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' filter_state'
    - data_name
    argTypes:
    - Envoy::StreamInfo::FilterState
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: espv2::envoy::utils::getStringFilterState
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils.cc
    functionUses: 32
    functionsReached:
    - hasData
    - getDataReadOnly
    linkageType: ''
    returnType: absl::string_view
    signature: "absl::string_view getStringFilterState(\n    const Envoy::StreamInfo::FilterState&
      filter_state,\n    absl::string_view data_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setData
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:31,1
    - Dst: std::make_unique<StringAccessorImpl>
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:33,1
    - Dst: StringAccessorImpl
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' filter_state'
    - data_name
    - value
    argTypes:
    - FilterState
    - absl::string_view
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: espv2::envoy::utils::setStringFilterState
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils.cc
    functionUses: 16
    functionsReached:
    - StringAccessorImpl
    - std::make_unique<StringAccessorImpl>
    - setData
    linkageType: ''
    returnType: void
    signature: "void setStringFilterState(FilterState& filter_state,\n                          absl::string_view
      data_name,\n                          absl::string_view value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasData
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:40,1
    - Dst: getDataReadOnly
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' filter_state'
    - data_name
    argTypes:
    - Envoy::StreamInfo::FilterState
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: espv2::envoy::utils::getStringFilterState
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils.cc
    functionUses: 32
    functionsReached:
    - hasData
    - getDataReadOnly
    linkageType: ''
    returnType: absl::string_view
    signature: "absl::string_view getStringFilterState(\n    const Envoy::StreamInfo::FilterState&
      filter_state,\n    absl::string_view data_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::getStringFilterState
    - espv2::envoy::utils::setStringFilterState
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, SetAndGetStringValueFromFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, ReturnEmptyStringViewForNonExistingDataName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::getStringFilterState
    - espv2::envoy::utils::setStringFilterState
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, SetAndGetStringValueFromFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, ReturnEmptyStringViewForNonExistingDataName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::getStringFilterState
    - espv2::envoy::utils::setStringFilterState
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, SetAndGetStringValueFromFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, ReturnEmptyStringViewForNonExistingDataName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::getStringFilterState
    - espv2::envoy::utils::setStringFilterState
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, SetAndGetStringValueFromFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, ReturnEmptyStringViewForNonExistingDataName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::getStringFilterState
    - espv2::envoy::utils::setStringFilterState
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, SetAndGetStringValueFromFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, ReturnEmptyStringViewForNonExistingDataName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::getStringFilterState
    - espv2::envoy::utils::setStringFilterState
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, SetAndGetStringValueFromFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, ReturnEmptyStringViewForNonExistingDataName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::getStringFilterState
    - espv2::envoy::utils::setStringFilterState
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, SetAndGetStringValueFromFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, ReturnEmptyStringViewForNonExistingDataName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::getStringFilterState
    - espv2::envoy::utils::setStringFilterState
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, SetAndGetStringValueFromFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, ReturnEmptyStringViewForNonExistingDataName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::getStringFilterState
    - espv2::envoy::utils::setStringFilterState
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, SetAndGetStringValueFromFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, ReturnEmptyStringViewForNonExistingDataName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::getStringFilterState
    - espv2::envoy::utils::setStringFilterState
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, SetAndGetStringValueFromFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, ReturnEmptyStringViewForNonExistingDataName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::getStringFilterState
    - espv2::envoy::utils::setStringFilterState
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, SetAndGetStringValueFromFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, ReturnEmptyStringViewForNonExistingDataName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::getStringFilterState
    - espv2::envoy::utils::setStringFilterState
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, SetAndGetStringValueFromFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, ReturnEmptyStringViewForNonExistingDataName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::getStringFilterState
    - espv2::envoy::utils::setStringFilterState
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, SetAndGetStringValueFromFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, ReturnEmptyStringViewForNonExistingDataName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::getStringFilterState
    - espv2::envoy::utils::setStringFilterState
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, SetAndGetStringValueFromFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, ReturnEmptyStringViewForNonExistingDataName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::getStringFilterState
    - espv2::envoy::utils::setStringFilterState
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, SetAndGetStringValueFromFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, ReturnEmptyStringViewForNonExistingDataName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:32,1
    - Dst: espv2::envoy::utils::setStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:33,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:35,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::utils::getStringFilterState
    - espv2::envoy::utils::setStringFilterState
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, SetAndGetStringValueFromFilterState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    - Dst: espv2::envoy::utils::getStringFilterState
      Src: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::getStringFilterState
    linkageType: ''
    returnType: void
    signature: void TEST(FilterStateUtilsTest, ReturnEmptyStringViewForNonExistingDataName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc:26,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc:27,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' filter_name'
    - ' error_type'
    - ' error_detail'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: espv2::envoy::utils::generateRcDetails
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc
    functionUses: 96
    functionsReached:
    - absl::StrCat
    - length
    linkageType: ''
    returnType: std::string
    signature: "std::string generateRcDetails(const std::string& filter_name,\n                              const
      std::string& error_type,\n                              const std::string& error_detail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc:26,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc:27,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' filter_name'
    - ' error_type'
    - ' error_detail'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: espv2::envoy::utils::generateRcDetails
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc
    functionUses: 96
    functionsReached:
    - absl::StrCat
    - length
    linkageType: ''
    returnType: std::string
    signature: "std::string generateRcDetails(const std::string& filter_name,\n                              const
      std::string& error_type,\n                              const std::string& error_detail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc:26,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc:27,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' filter_name'
    - ' error_type'
    - ' error_detail'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: espv2::envoy::utils::generateRcDetails
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc
    functionUses: 96
    functionsReached:
    - absl::StrCat
    - length
    linkageType: ''
    returnType: std::string
    signature: "std::string generateRcDetails(const std::string& filter_name,\n                              const
      std::string& error_type,\n                              const std::string& error_detail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc:26,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc:27,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' filter_name'
    - ' error_type'
    - ' error_detail'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: espv2::envoy::utils::generateRcDetails
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc
    functionUses: 96
    functionsReached:
    - absl::StrCat
    - length
    linkageType: ''
    returnType: std::string
    signature: "std::string generateRcDetails(const std::string& filter_name,\n                              const
      std::string& error_type,\n                              const std::string& error_detail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc:26,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc:27,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' filter_name'
    - ' error_type'
    - ' error_detail'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: espv2::envoy::utils::generateRcDetails
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc
    functionUses: 96
    functionsReached:
    - absl::StrCat
    - length
    linkageType: ''
    returnType: std::string
    signature: "std::string generateRcDetails(const std::string& filter_name,\n                              const
      std::string& error_type,\n                              const std::string& error_detail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc:26,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc:27,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' filter_name'
    - ' error_type'
    - ' error_detail'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: espv2::envoy::utils::generateRcDetails
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc
    functionUses: 96
    functionsReached:
    - absl::StrCat
    - length
    linkageType: ''
    returnType: std::string
    signature: "std::string generateRcDetails(const std::string& filter_name,\n                              const
      std::string& error_type,\n                              const std::string& error_detail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc:26,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc:27,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' filter_name'
    - ' error_type'
    - ' error_detail'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: espv2::envoy::utils::generateRcDetails
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc
    functionUses: 96
    functionsReached:
    - absl::StrCat
    - length
    linkageType: ''
    returnType: std::string
    signature: "std::string generateRcDetails(const std::string& filter_name,\n                              const
      std::string& error_type,\n                              const std::string& error_detail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: length
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc:26,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc:27,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ' filter_name'
    - ' error_type'
    - ' error_detail'
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: espv2::envoy::utils::generateRcDetails
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc
    functionUses: 96
    functionsReached:
    - absl::StrCat
    - length
    linkageType: ''
    returnType: std::string
    signature: "std::string generateRcDetails(const std::string& filter_name,\n                              const
      std::string& error_type,\n                              const std::string& error_detail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' pb_struct'
    argTypes:
    - google::protobuf::Struct
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: espv2::envoy::utils::JsonStruct::JsonStruct
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JsonStruct(const google::protobuf::Struct& pb_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' pb_struct'
    argTypes:
    - google::protobuf::Struct
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: espv2::envoy::utils::JsonStruct::JsonStruct
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JsonStruct(const google::protobuf::Struct& pb_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' pb_struct'
    argTypes:
    - google::protobuf::Struct
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: espv2::envoy::utils::JsonStruct::JsonStruct
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JsonStruct(const google::protobuf::Struct& pb_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' pb_struct'
    argTypes:
    - google::protobuf::Struct
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: espv2::envoy::utils::JsonStruct::JsonStruct
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JsonStruct(const google::protobuf::Struct& pb_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' pb_struct'
    argTypes:
    - google::protobuf::Struct
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: espv2::envoy::utils::JsonStruct::JsonStruct
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JsonStruct(const google::protobuf::Struct& pb_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' pb_struct'
    argTypes:
    - google::protobuf::Struct
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: espv2::envoy::utils::JsonStruct::JsonStruct
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JsonStruct(const google::protobuf::Struct& pb_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' pb_struct'
    argTypes:
    - google::protobuf::Struct
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: espv2::envoy::utils::JsonStruct::JsonStruct
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JsonStruct(const google::protobuf::Struct& pb_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' pb_struct'
    argTypes:
    - google::protobuf::Struct
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: espv2::envoy::utils::JsonStruct::JsonStruct
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JsonStruct(const google::protobuf::Struct& pb_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:32,1
    - Dst: pb_struct
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:34,1
    - Dst: keys_to_check
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:36,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:38,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::JsonStructInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - keys_to_check
    - what
    - Envoy::TestUtility::validate
    - JsonStruct::getString
    - DebugString
    - pb_struct
    - ENVOY_LOG_MISC
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void DEFINE_PROTO_FUZZER(const espv2::tests::fuzz::protos::JsonStructInput&
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:32,1
    - Dst: pb_struct
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:34,1
    - Dst: keys_to_check
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:36,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:38,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::JsonStructInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - keys_to_check
    - what
    - Envoy::TestUtility::validate
    - JsonStruct::getString
    - DebugString
    - pb_struct
    - ENVOY_LOG_MISC
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void DEFINE_PROTO_FUZZER(const espv2::tests::fuzz::protos::JsonStructInput&
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:32,1
    - Dst: pb_struct
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:34,1
    - Dst: keys_to_check
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:36,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:38,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::JsonStructInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - keys_to_check
    - what
    - Envoy::TestUtility::validate
    - JsonStruct::getString
    - DebugString
    - pb_struct
    - ENVOY_LOG_MISC
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void DEFINE_PROTO_FUZZER(const espv2::tests::fuzz::protos::JsonStructInput&
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:32,1
    - Dst: pb_struct
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:34,1
    - Dst: keys_to_check
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:36,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:38,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::JsonStructInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - keys_to_check
    - what
    - Envoy::TestUtility::validate
    - JsonStruct::getString
    - DebugString
    - pb_struct
    - ENVOY_LOG_MISC
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void DEFINE_PROTO_FUZZER(const espv2::tests::fuzz::protos::JsonStructInput&
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:32,1
    - Dst: pb_struct
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:34,1
    - Dst: keys_to_check
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:36,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:38,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::JsonStructInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - keys_to_check
    - what
    - Envoy::TestUtility::validate
    - JsonStruct::getString
    - DebugString
    - pb_struct
    - ENVOY_LOG_MISC
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void DEFINE_PROTO_FUZZER(const espv2::tests::fuzz::protos::JsonStructInput&
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:32,1
    - Dst: pb_struct
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:34,1
    - Dst: keys_to_check
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:36,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:38,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::JsonStructInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - keys_to_check
    - what
    - Envoy::TestUtility::validate
    - JsonStruct::getString
    - DebugString
    - pb_struct
    - ENVOY_LOG_MISC
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void DEFINE_PROTO_FUZZER(const espv2::tests::fuzz::protos::JsonStructInput&
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:32,1
    - Dst: pb_struct
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:34,1
    - Dst: keys_to_check
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:36,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:38,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::JsonStructInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - keys_to_check
    - what
    - Envoy::TestUtility::validate
    - JsonStruct::getString
    - DebugString
    - pb_struct
    - ENVOY_LOG_MISC
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void DEFINE_PROTO_FUZZER(const espv2::tests::fuzz::protos::JsonStructInput&
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:32,1
    - Dst: pb_struct
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:34,1
    - Dst: keys_to_check
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:36,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:38,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::JsonStructInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - keys_to_check
    - what
    - Envoy::TestUtility::validate
    - JsonStruct::getString
    - DebugString
    - pb_struct
    - ENVOY_LOG_MISC
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void DEFINE_PROTO_FUZZER(const espv2::tests::fuzz::protos::JsonStructInput&
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:32,1
    - Dst: pb_struct
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:34,1
    - Dst: keys_to_check
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:36,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:38,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::JsonStructInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - keys_to_check
    - what
    - Envoy::TestUtility::validate
    - JsonStruct::getString
    - DebugString
    - pb_struct
    - ENVOY_LOG_MISC
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void DEFINE_PROTO_FUZZER(const espv2::tests::fuzz::protos::JsonStructInput&
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:32,1
    - Dst: pb_struct
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:34,1
    - Dst: keys_to_check
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:36,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:38,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::JsonStructInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - keys_to_check
    - what
    - Envoy::TestUtility::validate
    - JsonStruct::getString
    - DebugString
    - pb_struct
    - ENVOY_LOG_MISC
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void DEFINE_PROTO_FUZZER(const espv2::tests::fuzz::protos::JsonStructInput&
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:32,1
    - Dst: pb_struct
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:34,1
    - Dst: keys_to_check
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:36,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:38,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::JsonStructInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - keys_to_check
    - what
    - Envoy::TestUtility::validate
    - JsonStruct::getString
    - DebugString
    - pb_struct
    - ENVOY_LOG_MISC
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void DEFINE_PROTO_FUZZER(const espv2::tests::fuzz::protos::JsonStructInput&
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:32,1
    - Dst: pb_struct
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:34,1
    - Dst: keys_to_check
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:36,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:38,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::JsonStructInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - keys_to_check
    - what
    - Envoy::TestUtility::validate
    - JsonStruct::getString
    - DebugString
    - pb_struct
    - ENVOY_LOG_MISC
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void DEFINE_PROTO_FUZZER(const espv2::tests::fuzz::protos::JsonStructInput&
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:32,1
    - Dst: pb_struct
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:34,1
    - Dst: keys_to_check
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:36,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:38,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::JsonStructInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - keys_to_check
    - what
    - Envoy::TestUtility::validate
    - JsonStruct::getString
    - DebugString
    - pb_struct
    - ENVOY_LOG_MISC
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void DEFINE_PROTO_FUZZER(const espv2::tests::fuzz::protos::JsonStructInput&
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:32,1
    - Dst: pb_struct
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:34,1
    - Dst: keys_to_check
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:36,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:38,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::JsonStructInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - keys_to_check
    - what
    - Envoy::TestUtility::validate
    - JsonStruct::getString
    - DebugString
    - pb_struct
    - ENVOY_LOG_MISC
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void DEFINE_PROTO_FUZZER(const espv2::tests::fuzz::protos::JsonStructInput&
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:32,1
    - Dst: pb_struct
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:34,1
    - Dst: keys_to_check
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:36,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:38,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::JsonStructInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - keys_to_check
    - what
    - Envoy::TestUtility::validate
    - JsonStruct::getString
    - DebugString
    - pb_struct
    - ENVOY_LOG_MISC
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void DEFINE_PROTO_FUZZER(const espv2::tests::fuzz::protos::JsonStructInput&
      input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:29,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:32,1
    - Dst: pb_struct
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:34,1
    - Dst: keys_to_check
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:36,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:38,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::JsonStructInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - keys_to_check
    - what
    - Envoy::TestUtility::validate
    - JsonStruct::getString
    - DebugString
    - pb_struct
    - ENVOY_LOG_MISC
    - JsonStruct::getInteger
    linkageType: ''
    returnType: void
    signature: void DEFINE_PROTO_FUZZER(const espv2::tests::fuzz::protos::JsonStructInput&
      input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderEntry*::value
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - entry
    argTypes:
    - Envoy::Http::HeaderEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: espv2::envoy::utils::readHeaderEntry
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils.cc
    functionUses: 64
    functionsReached:
    - Envoy::Http::HeaderEntry*::value
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view readHeaderEntry(const Envoy::Http::HeaderEntry* entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderUtility::getAllOfHeaderAsString
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:43,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:44,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' headers'
    - ' header'
    argTypes:
    - Envoy::Http::HeaderMap
    - Envoy::Http::LowerCaseString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: espv2::envoy::utils::extractHeader
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils.cc
    functionUses: 16
    functionsReached:
    - auto::result
    - Envoy::Http::HeaderUtility::getAllOfHeaderAsString
    linkageType: ''
    returnType: absl::string_view
    signature: "absl::string_view extractHeader(const Envoy::Http::HeaderMap& headers,\n
      \                               const Envoy::Http::LowerCaseString& header)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:51,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:52,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:57,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:59,1
    - Dst: setMethod
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:63,1
    - Dst: remove
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: espv2::envoy::utils::handleHttpMethodOverride
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils.cc
    functionUses: 48
    functionsReached:
    - value
    - remove
    - Method
    - ENVOY_LOG_MISC
    - get
    - setMethod
    - auto::empty
    linkageType: ''
    returnType: bool
    signature: bool handleHttpMethodOverride(Envoy::Http::RequestHeaderMap& headers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderEntry*::value
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - entry
    argTypes:
    - Envoy::Http::HeaderEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: espv2::envoy::utils::readHeaderEntry
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils.cc
    functionUses: 64
    functionsReached:
    - Envoy::Http::HeaderEntry*::value
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view readHeaderEntry(const Envoy::Http::HeaderEntry* entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderUtility::getAllOfHeaderAsString
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:43,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:44,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' headers'
    - ' header'
    argTypes:
    - Envoy::Http::HeaderMap
    - Envoy::Http::LowerCaseString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: espv2::envoy::utils::extractHeader
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils.cc
    functionUses: 16
    functionsReached:
    - auto::result
    - Envoy::Http::HeaderUtility::getAllOfHeaderAsString
    linkageType: ''
    returnType: absl::string_view
    signature: "absl::string_view extractHeader(const Envoy::Http::HeaderMap& headers,\n
      \                               const Envoy::Http::LowerCaseString& header)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:51,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:52,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:57,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:59,1
    - Dst: setMethod
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:63,1
    - Dst: remove
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: espv2::envoy::utils::handleHttpMethodOverride
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils.cc
    functionUses: 48
    functionsReached:
    - value
    - remove
    - Method
    - ENVOY_LOG_MISC
    - get
    - setMethod
    - auto::empty
    linkageType: ''
    returnType: bool
    signature: bool handleHttpMethodOverride(Envoy::Http::RequestHeaderMap& headers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderEntry*::value
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - entry
    argTypes:
    - Envoy::Http::HeaderEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: espv2::envoy::utils::readHeaderEntry
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils.cc
    functionUses: 64
    functionsReached:
    - Envoy::Http::HeaderEntry*::value
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view readHeaderEntry(const Envoy::Http::HeaderEntry* entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderUtility::getAllOfHeaderAsString
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:43,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:44,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' headers'
    - ' header'
    argTypes:
    - Envoy::Http::HeaderMap
    - Envoy::Http::LowerCaseString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: espv2::envoy::utils::extractHeader
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils.cc
    functionUses: 16
    functionsReached:
    - auto::result
    - Envoy::Http::HeaderUtility::getAllOfHeaderAsString
    linkageType: ''
    returnType: absl::string_view
    signature: "absl::string_view extractHeader(const Envoy::Http::HeaderMap& headers,\n
      \                               const Envoy::Http::LowerCaseString& header)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:51,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:52,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:57,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:59,1
    - Dst: setMethod
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:63,1
    - Dst: remove
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: espv2::envoy::utils::handleHttpMethodOverride
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils.cc
    functionUses: 48
    functionsReached:
    - value
    - remove
    - Method
    - ENVOY_LOG_MISC
    - get
    - setMethod
    - auto::empty
    linkageType: ''
    returnType: bool
    signature: bool handleHttpMethodOverride(Envoy::Http::RequestHeaderMap& headers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderEntry*::value
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - entry
    argTypes:
    - Envoy::Http::HeaderEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: espv2::envoy::utils::readHeaderEntry
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils.cc
    functionUses: 64
    functionsReached:
    - Envoy::Http::HeaderEntry*::value
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view readHeaderEntry(const Envoy::Http::HeaderEntry* entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderUtility::getAllOfHeaderAsString
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:43,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:44,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' headers'
    - ' header'
    argTypes:
    - Envoy::Http::HeaderMap
    - Envoy::Http::LowerCaseString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: espv2::envoy::utils::extractHeader
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils.cc
    functionUses: 16
    functionsReached:
    - auto::result
    - Envoy::Http::HeaderUtility::getAllOfHeaderAsString
    linkageType: ''
    returnType: absl::string_view
    signature: "absl::string_view extractHeader(const Envoy::Http::HeaderMap& headers,\n
      \                               const Envoy::Http::LowerCaseString& header)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:51,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:52,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:57,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:59,1
    - Dst: setMethod
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:63,1
    - Dst: remove
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: espv2::envoy::utils::handleHttpMethodOverride
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils.cc
    functionUses: 48
    functionsReached:
    - value
    - remove
    - Method
    - ENVOY_LOG_MISC
    - get
    - setMethod
    - auto::empty
    linkageType: ''
    returnType: bool
    signature: bool handleHttpMethodOverride(Envoy::Http::RequestHeaderMap& headers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderEntry*::value
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - entry
    argTypes:
    - Envoy::Http::HeaderEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: espv2::envoy::utils::readHeaderEntry
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils.cc
    functionUses: 64
    functionsReached:
    - Envoy::Http::HeaderEntry*::value
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view readHeaderEntry(const Envoy::Http::HeaderEntry* entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderUtility::getAllOfHeaderAsString
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:43,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:44,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' headers'
    - ' header'
    argTypes:
    - Envoy::Http::HeaderMap
    - Envoy::Http::LowerCaseString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: espv2::envoy::utils::extractHeader
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils.cc
    functionUses: 16
    functionsReached:
    - auto::result
    - Envoy::Http::HeaderUtility::getAllOfHeaderAsString
    linkageType: ''
    returnType: absl::string_view
    signature: "absl::string_view extractHeader(const Envoy::Http::HeaderMap& headers,\n
      \                               const Envoy::Http::LowerCaseString& header)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:51,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:52,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:57,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:59,1
    - Dst: setMethod
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:63,1
    - Dst: remove
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: espv2::envoy::utils::handleHttpMethodOverride
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils.cc
    functionUses: 48
    functionsReached:
    - value
    - remove
    - Method
    - ENVOY_LOG_MISC
    - get
    - setMethod
    - auto::empty
    linkageType: ''
    returnType: bool
    signature: bool handleHttpMethodOverride(Envoy::Http::RequestHeaderMap& headers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderEntry*::value
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - entry
    argTypes:
    - Envoy::Http::HeaderEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: espv2::envoy::utils::readHeaderEntry
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils.cc
    functionUses: 64
    functionsReached:
    - Envoy::Http::HeaderEntry*::value
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view readHeaderEntry(const Envoy::Http::HeaderEntry* entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderUtility::getAllOfHeaderAsString
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:43,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:44,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' headers'
    - ' header'
    argTypes:
    - Envoy::Http::HeaderMap
    - Envoy::Http::LowerCaseString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: espv2::envoy::utils::extractHeader
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils.cc
    functionUses: 16
    functionsReached:
    - auto::result
    - Envoy::Http::HeaderUtility::getAllOfHeaderAsString
    linkageType: ''
    returnType: absl::string_view
    signature: "absl::string_view extractHeader(const Envoy::Http::HeaderMap& headers,\n
      \                               const Envoy::Http::LowerCaseString& header)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:51,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:52,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:57,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:59,1
    - Dst: setMethod
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:63,1
    - Dst: remove
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: espv2::envoy::utils::handleHttpMethodOverride
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils.cc
    functionUses: 48
    functionsReached:
    - value
    - remove
    - Method
    - ENVOY_LOG_MISC
    - get
    - setMethod
    - auto::empty
    linkageType: ''
    returnType: bool
    signature: bool handleHttpMethodOverride(Envoy::Http::RequestHeaderMap& headers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderEntry*::value
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - entry
    argTypes:
    - Envoy::Http::HeaderEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: espv2::envoy::utils::readHeaderEntry
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils.cc
    functionUses: 64
    functionsReached:
    - Envoy::Http::HeaderEntry*::value
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view readHeaderEntry(const Envoy::Http::HeaderEntry* entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderUtility::getAllOfHeaderAsString
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:43,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:44,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' headers'
    - ' header'
    argTypes:
    - Envoy::Http::HeaderMap
    - Envoy::Http::LowerCaseString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: espv2::envoy::utils::extractHeader
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils.cc
    functionUses: 16
    functionsReached:
    - auto::result
    - Envoy::Http::HeaderUtility::getAllOfHeaderAsString
    linkageType: ''
    returnType: absl::string_view
    signature: "absl::string_view extractHeader(const Envoy::Http::HeaderMap& headers,\n
      \                               const Envoy::Http::LowerCaseString& header)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:51,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:52,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:57,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:59,1
    - Dst: setMethod
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:63,1
    - Dst: remove
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: espv2::envoy::utils::handleHttpMethodOverride
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils.cc
    functionUses: 48
    functionsReached:
    - value
    - remove
    - Method
    - ENVOY_LOG_MISC
    - get
    - setMethod
    - auto::empty
    linkageType: ''
    returnType: bool
    signature: bool handleHttpMethodOverride(Envoy::Http::RequestHeaderMap& headers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderEntry*::value
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - entry
    argTypes:
    - Envoy::Http::HeaderEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: espv2::envoy::utils::readHeaderEntry
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils.cc
    functionUses: 64
    functionsReached:
    - Envoy::Http::HeaderEntry*::value
    linkageType: ''
    returnType: absl::string_view
    signature: absl::string_view readHeaderEntry(const Envoy::Http::HeaderEntry* entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::HeaderUtility::getAllOfHeaderAsString
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:43,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:44,1
    - Dst: auto::result
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ' headers'
    - ' header'
    argTypes:
    - Envoy::Http::HeaderMap
    - Envoy::Http::LowerCaseString
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: espv2::envoy::utils::extractHeader
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils.cc
    functionUses: 16
    functionsReached:
    - auto::result
    - Envoy::Http::HeaderUtility::getAllOfHeaderAsString
    linkageType: ''
    returnType: absl::string_view
    signature: "absl::string_view extractHeader(const Envoy::Http::HeaderMap& headers,\n
      \                               const Envoy::Http::LowerCaseString& header)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:51,1
    - Dst: auto::empty
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:52,1
    - Dst: Method
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:57,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:58,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:59,1
    - Dst: setMethod
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:63,1
    - Dst: remove
      Src: /src/esp-v2/src/envoy/utils/http_header_utils.cc:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ' headers'
    argTypes:
    - Envoy::Http::RequestHeaderMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: espv2::envoy::utils::handleHttpMethodOverride
    functionSourceFile: /src/esp-v2/src/envoy/utils/http_header_utils.cc
    functionUses: 48
    functionsReached:
    - value
    - remove
    - Method
    - ENVOY_LOG_MISC
    - get
    - setMethod
    - auto::empty
    linkageType: ''
    returnType: bool
    signature: bool handleHttpMethodOverride(Envoy::Http::RequestHeaderMap& headers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithoutDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithoutDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithoutDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithoutDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithoutDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithoutDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithoutDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithoutDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithoutDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithoutDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithoutDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithoutDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithoutDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithoutDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithoutDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:12,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    - Dst: espv2::envoy::utils::generateRcDetails
      Src: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 19
    functionName: espv2::envoy::utils::TEST
    functionSourceFile: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - espv2::envoy::utils::generateRcDetails
    linkageType: ''
    returnType: void
    signature: void TEST(GenerateRcDetailTest, WithoutDetail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~TokenSubscriberFactory()
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TokenSubscriberFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~TokenSubscriberFactory()
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TokenSubscriberFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~TokenSubscriberFactory()
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TokenSubscriberFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~TokenSubscriberFactory()
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TokenSubscriberFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~TokenSubscriberFactory()
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TokenSubscriberFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~TokenSubscriberFactory()
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TokenSubscriberFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~TokenSubscriberFactory()
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TokenSubscriberFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: ~TokenSubscriberFactory()
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TokenSubscriberFactory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: espv2::envoy::token::test::IamTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:45,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, FailPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:60,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:64,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:73,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 77
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - Envoy::Http::CustomHeaders::get
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:82,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:83,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:85,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:86,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:89,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:92,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SetDelegatesAndScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:104,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:105,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:109,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:112,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetDelegates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:125,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:126,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:129,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:132,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: espv2::envoy::token::test::IamParseTokenTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<IamTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:158,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:159,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, NonJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:172,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:173,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:176,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:189,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:204,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:207,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenInvalidTimestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:218,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:220,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:224,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessPastExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:237,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:239,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessFutureExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:250,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:251,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:254,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:257,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:260,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 264
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, SetIncludeEmail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: espv2::envoy::token::test::IamTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:45,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, FailPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:60,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:64,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:73,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 77
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - Envoy::Http::CustomHeaders::get
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:82,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:83,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:85,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:86,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:89,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:92,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SetDelegatesAndScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:104,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:105,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:109,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:112,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetDelegates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:125,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:126,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:129,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:132,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: espv2::envoy::token::test::IamParseTokenTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<IamTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:158,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:159,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, NonJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:172,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:173,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:176,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:189,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:204,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:207,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenInvalidTimestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:218,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:220,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:224,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessPastExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:237,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:239,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessFutureExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:250,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:251,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:254,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:257,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:260,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 264
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, SetIncludeEmail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: espv2::envoy::token::test::IamTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:45,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, FailPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:60,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:64,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:73,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 77
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - Envoy::Http::CustomHeaders::get
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:82,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:83,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:85,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:86,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:89,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:92,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SetDelegatesAndScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:104,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:105,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:109,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:112,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetDelegates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:125,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:126,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:129,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:132,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: espv2::envoy::token::test::IamParseTokenTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<IamTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:158,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:159,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, NonJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:172,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:173,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:176,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:189,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:204,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:207,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenInvalidTimestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:218,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:220,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:224,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessPastExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:237,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:239,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessFutureExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:250,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:251,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:254,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:257,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:260,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 264
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, SetIncludeEmail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: espv2::envoy::token::test::IamTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:45,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, FailPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:60,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:64,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:73,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 77
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - Envoy::Http::CustomHeaders::get
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:82,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:83,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:85,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:86,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:89,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:92,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SetDelegatesAndScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:104,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:105,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:109,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:112,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetDelegates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:125,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:126,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:129,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:132,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: espv2::envoy::token::test::IamParseTokenTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<IamTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:158,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:159,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, NonJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:172,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:173,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:176,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:189,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:204,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:207,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenInvalidTimestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:218,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:220,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:224,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessPastExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:237,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:239,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessFutureExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:250,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:251,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:254,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:257,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:260,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 264
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, SetIncludeEmail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: espv2::envoy::token::test::IamTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:45,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, FailPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:60,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:64,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:73,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 77
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - Envoy::Http::CustomHeaders::get
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:82,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:83,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:85,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:86,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:89,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:92,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SetDelegatesAndScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:104,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:105,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:109,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:112,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetDelegates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:125,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:126,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:129,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:132,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: espv2::envoy::token::test::IamParseTokenTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<IamTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:158,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:159,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, NonJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:172,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:173,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:176,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:189,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:204,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:207,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenInvalidTimestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:218,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:220,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:224,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessPastExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:237,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:239,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessFutureExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:250,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:251,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:254,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:257,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:260,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 264
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, SetIncludeEmail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: espv2::envoy::token::test::IamTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:45,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, FailPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:60,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:64,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:73,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 77
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - Envoy::Http::CustomHeaders::get
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:82,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:83,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:85,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:86,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:89,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:92,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SetDelegatesAndScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:104,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:105,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:109,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:112,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetDelegates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:125,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:126,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:129,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:132,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: espv2::envoy::token::test::IamParseTokenTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<IamTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:158,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:159,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, NonJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:172,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:173,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:176,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:189,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:204,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:207,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenInvalidTimestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:218,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:220,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:224,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessPastExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:237,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:239,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessFutureExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:250,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:251,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:254,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:257,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:260,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 264
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, SetIncludeEmail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: espv2::envoy::token::test::IamTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:45,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, FailPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:60,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:64,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:73,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 77
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - Envoy::Http::CustomHeaders::get
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:82,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:83,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:85,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:86,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:89,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:92,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SetDelegatesAndScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:104,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:105,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:109,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:112,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetDelegates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:125,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:126,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:129,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:132,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: espv2::envoy::token::test::IamParseTokenTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<IamTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:158,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:159,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, NonJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:172,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:173,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:176,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:189,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:204,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:207,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenInvalidTimestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:218,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:220,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:224,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessPastExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:237,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:239,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessFutureExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:250,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:251,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:254,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:257,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:260,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 264
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, SetIncludeEmail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: espv2::envoy::token::test::IamTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:45,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, FailPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:60,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:64,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:73,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 77
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - Envoy::Http::CustomHeaders::get
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:82,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:83,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:85,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:86,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:89,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:92,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SetDelegatesAndScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:104,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:105,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:109,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:112,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetDelegates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:125,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:126,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:129,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:132,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: espv2::envoy::token::test::IamParseTokenTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<IamTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:158,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:159,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, NonJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:172,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:173,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:176,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:189,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:204,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:207,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenInvalidTimestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:218,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:220,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:224,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessPastExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:237,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:239,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessFutureExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:250,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:251,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:254,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:257,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:260,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 264
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, SetIncludeEmail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: espv2::envoy::token::test::IamTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:45,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, FailPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:60,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:64,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:73,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 77
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - Envoy::Http::CustomHeaders::get
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:82,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:83,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:85,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:86,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:89,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:92,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SetDelegatesAndScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:104,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:105,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:109,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:112,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetDelegates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:125,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:126,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:129,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:132,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: espv2::envoy::token::test::IamParseTokenTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<IamTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:158,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:159,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, NonJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:172,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:173,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:176,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:189,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:204,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:207,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenInvalidTimestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:218,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:220,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:224,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessPastExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:237,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:239,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessFutureExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:250,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:251,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:254,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:257,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:260,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 264
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, SetIncludeEmail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: espv2::envoy::token::test::IamTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:45,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, FailPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:60,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:64,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:73,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 77
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - Envoy::Http::CustomHeaders::get
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:82,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:83,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:85,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:86,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:89,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:92,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SetDelegatesAndScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:104,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:105,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:109,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:112,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetDelegates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:125,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:126,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:129,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:132,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: espv2::envoy::token::test::IamParseTokenTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<IamTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:158,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:159,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, NonJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:172,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:173,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:176,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:189,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:204,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:207,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenInvalidTimestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:218,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:220,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:224,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessPastExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:237,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:239,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessFutureExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:250,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:251,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:254,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:257,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:260,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 264
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, SetIncludeEmail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: espv2::envoy::token::test::IamTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:45,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, FailPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:60,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:64,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:73,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 77
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - Envoy::Http::CustomHeaders::get
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:82,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:83,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:85,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:86,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:89,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:92,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SetDelegatesAndScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:104,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:105,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:109,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:112,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetDelegates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:125,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:126,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:129,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:132,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: espv2::envoy::token::test::IamParseTokenTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<IamTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:158,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:159,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, NonJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:172,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:173,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:176,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:189,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:204,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:207,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenInvalidTimestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:218,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:220,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:224,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessPastExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:237,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:239,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessFutureExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:250,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:251,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:254,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:257,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:260,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 264
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, SetIncludeEmail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: espv2::envoy::token::test::IamTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:45,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, FailPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:60,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:64,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:73,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 77
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - Envoy::Http::CustomHeaders::get
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:82,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:83,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:85,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:86,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:89,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:92,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SetDelegatesAndScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:104,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:105,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:109,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:112,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetDelegates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:125,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:126,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:129,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:132,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: espv2::envoy::token::test::IamParseTokenTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<IamTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:158,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:159,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, NonJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:172,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:173,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:176,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:189,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:204,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:207,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenInvalidTimestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:218,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:220,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:224,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessPastExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:237,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:239,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessFutureExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:250,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:251,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:254,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:257,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:260,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 264
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, SetIncludeEmail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: espv2::envoy::token::test::IamTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:45,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, FailPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:60,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:64,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:73,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 77
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - Envoy::Http::CustomHeaders::get
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:82,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:83,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:85,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:86,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:89,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:92,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SetDelegatesAndScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:104,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:105,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:109,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:112,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetDelegates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:125,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:126,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:129,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:132,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: espv2::envoy::token::test::IamParseTokenTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<IamTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:158,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:159,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, NonJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:172,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:173,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:176,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:189,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:204,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:207,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenInvalidTimestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:218,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:220,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:224,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessPastExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:237,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:239,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessFutureExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:250,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:251,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:254,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:257,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:260,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 264
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, SetIncludeEmail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: espv2::envoy::token::test::IamTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:45,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, FailPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:60,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:64,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:73,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 77
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - Envoy::Http::CustomHeaders::get
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:82,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:83,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:85,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:86,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:89,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:92,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SetDelegatesAndScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:104,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:105,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:109,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:112,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetDelegates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:125,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:126,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:129,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:132,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: espv2::envoy::token::test::IamParseTokenTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<IamTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:158,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:159,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, NonJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:172,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:173,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:176,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:189,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:204,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:207,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenInvalidTimestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:218,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:220,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:224,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessPastExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:237,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:239,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessFutureExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:250,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:251,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:254,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:257,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:260,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 264
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, SetIncludeEmail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: espv2::envoy::token::test::IamTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:45,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, FailPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:60,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:64,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:73,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 77
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - Envoy::Http::CustomHeaders::get
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:82,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:83,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:85,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:86,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:89,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:92,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SetDelegatesAndScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:104,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:105,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:109,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:112,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetDelegates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:125,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:126,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:129,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:132,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: espv2::envoy::token::test::IamParseTokenTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<IamTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:158,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:159,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, NonJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:172,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:173,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:176,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:189,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:204,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:207,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenInvalidTimestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:218,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:220,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:224,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessPastExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:237,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:239,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessFutureExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:250,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:251,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:254,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:257,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:260,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 264
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, SetIncludeEmail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: espv2::envoy::token::test::IamTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:45,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:48,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, FailPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:60,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:64,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:67,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:68,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:69,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:70,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:71,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    - Dst: Envoy::Http::CustomHeaders::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:73,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 77
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - Envoy::Http::CustomHeaders::get
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:82,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:83,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:85,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:86,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:89,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:92,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:95,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:96,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, SetDelegatesAndScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:104,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:105,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:109,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:112,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:115,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:116,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetDelegates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:125,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:126,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:129,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:132,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:135,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:136,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamTokenInfoTest, OnlySetScopes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: espv2::envoy::token::test::IamParseTokenTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<IamTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:158,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:159,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:162,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, NonJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:172,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:173,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:176,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:186,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:187,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:188,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:189,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:192,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:203,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:204,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:207,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 209
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseIdentityToken
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenInvalidTimestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:218,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:220,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:221,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:224,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessPastExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:235,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:236,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:237,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:238,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:239,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:242,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_FALSE
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - parseIdentityToken
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, AccessTokenSuccessFutureExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:250,1
    - Dst: ::google::protobuf::RepeatedPtrField<std::string>::Add
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:251,1
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:254,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:257,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:260,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::TestUtility::jsonStringEqual
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:261,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_test.cc:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 264
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_TRUE
    - std::make_unique<IamTokenInfo>
    - prepareRequest
    - Envoy::TestUtility::jsonStringEqual
    - ::google::protobuf::RepeatedPtrField<std::string>::Add
    - Envoy::Http::RequestMessagePtr::bodyAsString
    linkageType: ''
    returnType: void
    signature: void TEST_F(IamParseTokenTest, SetIncludeEmail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: espv2::envoy::token::TokenSubscriber::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: espv2::envoy::token::TokenSubscriber::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: espv2::envoy::token::TokenSubscriber::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: espv2::envoy::token::TokenSubscriber::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: espv2::envoy::token::TokenSubscriber::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: espv2::envoy::token::TokenSubscriber::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: espv2::envoy::token::TokenSubscriber::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: espv2::envoy::token::TokenSubscriber::onBeforeFinalizeUpstreamSpan
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void onBeforeFinalizeUpstreamSpan(\n      Envoy::Tracing::Span&, const
      Envoy::Http::ResponseHeaderMap*) override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~TokenInfo()
    functionSourceFile: /src/esp-v2/src/envoy/token/token_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TokenInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~TokenInfo()
    functionSourceFile: /src/esp-v2/src/envoy/token/token_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TokenInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~TokenInfo()
    functionSourceFile: /src/esp-v2/src/envoy/token/token_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TokenInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~TokenInfo()
    functionSourceFile: /src/esp-v2/src/envoy/token/token_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TokenInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~TokenInfo()
    functionSourceFile: /src/esp-v2/src/envoy/token/token_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TokenInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~TokenInfo()
    functionSourceFile: /src/esp-v2/src/envoy/token/token_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TokenInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~TokenInfo()
    functionSourceFile: /src/esp-v2/src/envoy/token/token_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TokenInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: ~TokenInfo()
    functionSourceFile: /src/esp-v2/src/envoy/token/token_info.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TokenInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' delegates'
    - ' scopes'
    - include_email
    - access_token_fn
    argTypes:
    - ::google::protobuf::RepeatedPtrField<std::string>
    - ::google::protobuf::RepeatedPtrField<std::string>
    - bool
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: espv2::envoy::token::IamTokenInfo::IamTokenInfo
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void IamTokenInfo::IamTokenInfo(\n    const ::google::protobuf::RepeatedPtrField<std::string>&
      delegates,\n    const ::google::protobuf::RepeatedPtrField<std::string>& scopes,\n
      \   const bool include_email, const GetTokenFunc access_token_fn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: access_token_fn_
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:61,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:63,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:72,1
    - Dst: Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:74,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:75,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:76,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:76,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:77,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:77,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:81,1
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:81,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:84,1
    - Dst: espv2::envoy::token::IamTokenInfo::insertStrListToProto
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:85,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:88,1
    - Dst: espv2::envoy::token::IamTokenInfo::insertStrListToProto
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:89,1
    - Dst: Envoy::ProtobufWkt::Value::set_bool_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:94,1
    - Dst: Envoy::ProtobufWkt::Value::mutable_struct_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:95,1
    - Dst: Swap
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:95,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:98,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:98,1
    - Dst: Envoy::MessageUtil::getJsonStringFromMessage
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:100,1
    - Dst: auto::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:101,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:102,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:102,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - token_url
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 107
    functionName: espv2::envoy::token::IamTokenInfo::prepareRequest
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached:
    - Envoy::ProtobufWkt::Value::set_bool_value
    - Envoy::Http::RequestMessagePtr::body
    - empty
    - auto::value
    - std::move
    - Envoy::Http::Utility::extractHostPathFromUri
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
    - Swap
    - auto::ok
    - std::string::empty
    - access_token_fn_
    - Envoy::MessageUtil::getJsonStringFromMessage
    - Envoy::Http::Headers::get
    - std::string
    - Envoy::ProtobufWkt::Value::mutable_struct_value
    - espv2::envoy::token::IamTokenInfo::insertStrListToProto
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: "Envoy::Http::RequestMessagePtr IamTokenInfo::prepareRequest(\n    absl::string_view
      token_url) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:118,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:119,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:120,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:121,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:121,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:128,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:129,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:130,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:131,1
    - Dst: JsonStruct::getTimestamp
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:137,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:139,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:140,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:141,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:145,1
    - Dst: ::google::protobuf::util::TimeUtil::GetCurrentTime
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:146,1
    - Dst: seconds
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 151
    functionName: espv2::envoy::token::IamTokenInfo::parseAccessToken
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached:
    - JsonStruct::getTimestamp
    - seconds
    - absl::Status::ok
    - JsonStruct::getString
    - ENVOY_LOG
    - ::google::protobuf::util::TimeUtil::GetCurrentTime
    - ::google::protobuf::util::JsonStringToMessage
    - std::chrono::seconds
    - absl::Status::ToString
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool IamTokenInfo::parseAccessToken(absl::string_view response,\n
      \                                   TokenResult* ret) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:161,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:162,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:163,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:164,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:164,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:171,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:172,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:173,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 181
    functionName: espv2::envoy::token::IamTokenInfo::parseIdentityToken
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - JsonStruct::getString
    - ENVOY_LOG
    - ::google::protobuf::util::JsonStringToMessage
    - absl::Status::ToString
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool IamTokenInfo::parseIdentityToken(absl::string_view response,\n
      \                                     TokenResult* ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::ProtobufWkt::Value::mutable_list_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:189,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:190,1
    - Dst: mutable_struct_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:192,1
    - Dst: Swap
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' body'
    - ' key'
    - ' val_list'
    - ' val_prefix'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - ::google::protobuf::RepeatedPtrField<std::string>
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: espv2::envoy::token::IamTokenInfo::insertStrListToProto
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 1
    functionsReached:
    - mutable_struct_value
    - absl::StrCat
    - Envoy::ProtobufWkt::Value::mutable_list_value
    - Swap
    linkageType: ''
    returnType: void
    signature: "void IamTokenInfo::insertStrListToProto(\n    Envoy::ProtobufWkt::Value&
      body, const std::string& key,\n    const ::google::protobuf::RepeatedPtrField<std::string>&
      val_list,\n    const absl::string_view& val_prefix) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' delegates'
    - ' scopes'
    - include_email
    - access_token_fn
    argTypes:
    - ::google::protobuf::RepeatedPtrField<std::string>
    - ::google::protobuf::RepeatedPtrField<std::string>
    - bool
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: espv2::envoy::token::IamTokenInfo::IamTokenInfo
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void IamTokenInfo::IamTokenInfo(\n    const ::google::protobuf::RepeatedPtrField<std::string>&
      delegates,\n    const ::google::protobuf::RepeatedPtrField<std::string>& scopes,\n
      \   const bool include_email, const GetTokenFunc access_token_fn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: access_token_fn_
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:61,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:63,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:72,1
    - Dst: Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:74,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:75,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:76,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:76,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:77,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:77,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:81,1
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:81,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:84,1
    - Dst: espv2::envoy::token::IamTokenInfo::insertStrListToProto
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:85,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:88,1
    - Dst: espv2::envoy::token::IamTokenInfo::insertStrListToProto
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:89,1
    - Dst: Envoy::ProtobufWkt::Value::set_bool_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:94,1
    - Dst: Envoy::ProtobufWkt::Value::mutable_struct_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:95,1
    - Dst: Swap
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:95,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:98,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:98,1
    - Dst: Envoy::MessageUtil::getJsonStringFromMessage
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:100,1
    - Dst: auto::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:101,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:102,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:102,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - token_url
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 107
    functionName: espv2::envoy::token::IamTokenInfo::prepareRequest
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached:
    - Envoy::ProtobufWkt::Value::set_bool_value
    - Envoy::Http::RequestMessagePtr::body
    - empty
    - auto::value
    - std::move
    - Envoy::Http::Utility::extractHostPathFromUri
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
    - Swap
    - auto::ok
    - std::string::empty
    - access_token_fn_
    - Envoy::MessageUtil::getJsonStringFromMessage
    - Envoy::Http::Headers::get
    - std::string
    - Envoy::ProtobufWkt::Value::mutable_struct_value
    - espv2::envoy::token::IamTokenInfo::insertStrListToProto
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: "Envoy::Http::RequestMessagePtr IamTokenInfo::prepareRequest(\n    absl::string_view
      token_url) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:118,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:119,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:120,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:121,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:121,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:128,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:129,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:130,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:131,1
    - Dst: JsonStruct::getTimestamp
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:137,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:139,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:140,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:141,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:145,1
    - Dst: ::google::protobuf::util::TimeUtil::GetCurrentTime
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:146,1
    - Dst: seconds
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 151
    functionName: espv2::envoy::token::IamTokenInfo::parseAccessToken
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached:
    - JsonStruct::getTimestamp
    - seconds
    - absl::Status::ok
    - JsonStruct::getString
    - ENVOY_LOG
    - ::google::protobuf::util::TimeUtil::GetCurrentTime
    - ::google::protobuf::util::JsonStringToMessage
    - std::chrono::seconds
    - absl::Status::ToString
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool IamTokenInfo::parseAccessToken(absl::string_view response,\n
      \                                   TokenResult* ret) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:161,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:162,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:163,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:164,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:164,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:171,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:172,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:173,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 181
    functionName: espv2::envoy::token::IamTokenInfo::parseIdentityToken
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - JsonStruct::getString
    - ENVOY_LOG
    - ::google::protobuf::util::JsonStringToMessage
    - absl::Status::ToString
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool IamTokenInfo::parseIdentityToken(absl::string_view response,\n
      \                                     TokenResult* ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::ProtobufWkt::Value::mutable_list_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:189,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:190,1
    - Dst: mutable_struct_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:192,1
    - Dst: Swap
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' body'
    - ' key'
    - ' val_list'
    - ' val_prefix'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - ::google::protobuf::RepeatedPtrField<std::string>
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: espv2::envoy::token::IamTokenInfo::insertStrListToProto
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 2
    functionsReached:
    - mutable_struct_value
    - absl::StrCat
    - Envoy::ProtobufWkt::Value::mutable_list_value
    - Swap
    linkageType: ''
    returnType: void
    signature: "void IamTokenInfo::insertStrListToProto(\n    Envoy::ProtobufWkt::Value&
      body, const std::string& key,\n    const ::google::protobuf::RepeatedPtrField<std::string>&
      val_list,\n    const absl::string_view& val_prefix) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' delegates'
    - ' scopes'
    - include_email
    - access_token_fn
    argTypes:
    - ::google::protobuf::RepeatedPtrField<std::string>
    - ::google::protobuf::RepeatedPtrField<std::string>
    - bool
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: espv2::envoy::token::IamTokenInfo::IamTokenInfo
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void IamTokenInfo::IamTokenInfo(\n    const ::google::protobuf::RepeatedPtrField<std::string>&
      delegates,\n    const ::google::protobuf::RepeatedPtrField<std::string>& scopes,\n
      \   const bool include_email, const GetTokenFunc access_token_fn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: access_token_fn_
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:61,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:63,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:72,1
    - Dst: Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:74,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:75,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:76,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:76,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:77,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:77,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:81,1
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:81,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:84,1
    - Dst: espv2::envoy::token::IamTokenInfo::insertStrListToProto
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:85,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:88,1
    - Dst: espv2::envoy::token::IamTokenInfo::insertStrListToProto
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:89,1
    - Dst: Envoy::ProtobufWkt::Value::set_bool_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:94,1
    - Dst: Envoy::ProtobufWkt::Value::mutable_struct_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:95,1
    - Dst: Swap
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:95,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:98,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:98,1
    - Dst: Envoy::MessageUtil::getJsonStringFromMessage
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:100,1
    - Dst: auto::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:101,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:102,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:102,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - token_url
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 107
    functionName: espv2::envoy::token::IamTokenInfo::prepareRequest
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached:
    - Envoy::ProtobufWkt::Value::set_bool_value
    - Envoy::Http::RequestMessagePtr::body
    - empty
    - auto::value
    - std::move
    - Envoy::Http::Utility::extractHostPathFromUri
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
    - Swap
    - auto::ok
    - std::string::empty
    - access_token_fn_
    - Envoy::MessageUtil::getJsonStringFromMessage
    - Envoy::Http::Headers::get
    - std::string
    - Envoy::ProtobufWkt::Value::mutable_struct_value
    - espv2::envoy::token::IamTokenInfo::insertStrListToProto
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: "Envoy::Http::RequestMessagePtr IamTokenInfo::prepareRequest(\n    absl::string_view
      token_url) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:118,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:119,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:120,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:121,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:121,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:128,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:129,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:130,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:131,1
    - Dst: JsonStruct::getTimestamp
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:137,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:139,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:140,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:141,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:145,1
    - Dst: ::google::protobuf::util::TimeUtil::GetCurrentTime
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:146,1
    - Dst: seconds
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 151
    functionName: espv2::envoy::token::IamTokenInfo::parseAccessToken
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached:
    - JsonStruct::getTimestamp
    - seconds
    - absl::Status::ok
    - JsonStruct::getString
    - ENVOY_LOG
    - ::google::protobuf::util::TimeUtil::GetCurrentTime
    - ::google::protobuf::util::JsonStringToMessage
    - std::chrono::seconds
    - absl::Status::ToString
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool IamTokenInfo::parseAccessToken(absl::string_view response,\n
      \                                   TokenResult* ret) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:161,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:162,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:163,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:164,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:164,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:171,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:172,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:173,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 181
    functionName: espv2::envoy::token::IamTokenInfo::parseIdentityToken
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - JsonStruct::getString
    - ENVOY_LOG
    - ::google::protobuf::util::JsonStringToMessage
    - absl::Status::ToString
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool IamTokenInfo::parseIdentityToken(absl::string_view response,\n
      \                                     TokenResult* ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::ProtobufWkt::Value::mutable_list_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:189,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:190,1
    - Dst: mutable_struct_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:192,1
    - Dst: Swap
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' body'
    - ' key'
    - ' val_list'
    - ' val_prefix'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - ::google::protobuf::RepeatedPtrField<std::string>
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: espv2::envoy::token::IamTokenInfo::insertStrListToProto
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 3
    functionsReached:
    - mutable_struct_value
    - absl::StrCat
    - Envoy::ProtobufWkt::Value::mutable_list_value
    - Swap
    linkageType: ''
    returnType: void
    signature: "void IamTokenInfo::insertStrListToProto(\n    Envoy::ProtobufWkt::Value&
      body, const std::string& key,\n    const ::google::protobuf::RepeatedPtrField<std::string>&
      val_list,\n    const absl::string_view& val_prefix) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' delegates'
    - ' scopes'
    - include_email
    - access_token_fn
    argTypes:
    - ::google::protobuf::RepeatedPtrField<std::string>
    - ::google::protobuf::RepeatedPtrField<std::string>
    - bool
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: espv2::envoy::token::IamTokenInfo::IamTokenInfo
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void IamTokenInfo::IamTokenInfo(\n    const ::google::protobuf::RepeatedPtrField<std::string>&
      delegates,\n    const ::google::protobuf::RepeatedPtrField<std::string>& scopes,\n
      \   const bool include_email, const GetTokenFunc access_token_fn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: access_token_fn_
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:61,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:63,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:72,1
    - Dst: Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:74,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:75,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:76,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:76,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:77,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:77,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:81,1
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:81,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:84,1
    - Dst: espv2::envoy::token::IamTokenInfo::insertStrListToProto
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:85,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:88,1
    - Dst: espv2::envoy::token::IamTokenInfo::insertStrListToProto
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:89,1
    - Dst: Envoy::ProtobufWkt::Value::set_bool_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:94,1
    - Dst: Envoy::ProtobufWkt::Value::mutable_struct_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:95,1
    - Dst: Swap
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:95,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:98,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:98,1
    - Dst: Envoy::MessageUtil::getJsonStringFromMessage
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:100,1
    - Dst: auto::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:101,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:102,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:102,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - token_url
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 107
    functionName: espv2::envoy::token::IamTokenInfo::prepareRequest
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached:
    - Envoy::ProtobufWkt::Value::set_bool_value
    - Envoy::Http::RequestMessagePtr::body
    - empty
    - auto::value
    - std::move
    - Envoy::Http::Utility::extractHostPathFromUri
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
    - Swap
    - auto::ok
    - std::string::empty
    - access_token_fn_
    - Envoy::MessageUtil::getJsonStringFromMessage
    - Envoy::Http::Headers::get
    - std::string
    - Envoy::ProtobufWkt::Value::mutable_struct_value
    - espv2::envoy::token::IamTokenInfo::insertStrListToProto
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: "Envoy::Http::RequestMessagePtr IamTokenInfo::prepareRequest(\n    absl::string_view
      token_url) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:118,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:119,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:120,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:121,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:121,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:128,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:129,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:130,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:131,1
    - Dst: JsonStruct::getTimestamp
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:137,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:139,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:140,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:141,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:145,1
    - Dst: ::google::protobuf::util::TimeUtil::GetCurrentTime
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:146,1
    - Dst: seconds
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 151
    functionName: espv2::envoy::token::IamTokenInfo::parseAccessToken
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached:
    - JsonStruct::getTimestamp
    - seconds
    - absl::Status::ok
    - JsonStruct::getString
    - ENVOY_LOG
    - ::google::protobuf::util::TimeUtil::GetCurrentTime
    - ::google::protobuf::util::JsonStringToMessage
    - std::chrono::seconds
    - absl::Status::ToString
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool IamTokenInfo::parseAccessToken(absl::string_view response,\n
      \                                   TokenResult* ret) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:161,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:162,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:163,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:164,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:164,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:171,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:172,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:173,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 181
    functionName: espv2::envoy::token::IamTokenInfo::parseIdentityToken
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - JsonStruct::getString
    - ENVOY_LOG
    - ::google::protobuf::util::JsonStringToMessage
    - absl::Status::ToString
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool IamTokenInfo::parseIdentityToken(absl::string_view response,\n
      \                                     TokenResult* ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::ProtobufWkt::Value::mutable_list_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:189,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:190,1
    - Dst: mutable_struct_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:192,1
    - Dst: Swap
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' body'
    - ' key'
    - ' val_list'
    - ' val_prefix'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - ::google::protobuf::RepeatedPtrField<std::string>
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: espv2::envoy::token::IamTokenInfo::insertStrListToProto
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 4
    functionsReached:
    - mutable_struct_value
    - absl::StrCat
    - Envoy::ProtobufWkt::Value::mutable_list_value
    - Swap
    linkageType: ''
    returnType: void
    signature: "void IamTokenInfo::insertStrListToProto(\n    Envoy::ProtobufWkt::Value&
      body, const std::string& key,\n    const ::google::protobuf::RepeatedPtrField<std::string>&
      val_list,\n    const absl::string_view& val_prefix) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' delegates'
    - ' scopes'
    - include_email
    - access_token_fn
    argTypes:
    - ::google::protobuf::RepeatedPtrField<std::string>
    - ::google::protobuf::RepeatedPtrField<std::string>
    - bool
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: espv2::envoy::token::IamTokenInfo::IamTokenInfo
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void IamTokenInfo::IamTokenInfo(\n    const ::google::protobuf::RepeatedPtrField<std::string>&
      delegates,\n    const ::google::protobuf::RepeatedPtrField<std::string>& scopes,\n
      \   const bool include_email, const GetTokenFunc access_token_fn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: access_token_fn_
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:61,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:63,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:72,1
    - Dst: Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:74,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:75,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:76,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:76,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:77,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:77,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:81,1
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:81,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:84,1
    - Dst: espv2::envoy::token::IamTokenInfo::insertStrListToProto
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:85,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:88,1
    - Dst: espv2::envoy::token::IamTokenInfo::insertStrListToProto
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:89,1
    - Dst: Envoy::ProtobufWkt::Value::set_bool_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:94,1
    - Dst: Envoy::ProtobufWkt::Value::mutable_struct_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:95,1
    - Dst: Swap
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:95,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:98,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:98,1
    - Dst: Envoy::MessageUtil::getJsonStringFromMessage
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:100,1
    - Dst: auto::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:101,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:102,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:102,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - token_url
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 107
    functionName: espv2::envoy::token::IamTokenInfo::prepareRequest
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached:
    - Envoy::ProtobufWkt::Value::set_bool_value
    - Envoy::Http::RequestMessagePtr::body
    - empty
    - auto::value
    - std::move
    - Envoy::Http::Utility::extractHostPathFromUri
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
    - Swap
    - auto::ok
    - std::string::empty
    - access_token_fn_
    - Envoy::MessageUtil::getJsonStringFromMessage
    - Envoy::Http::Headers::get
    - std::string
    - Envoy::ProtobufWkt::Value::mutable_struct_value
    - espv2::envoy::token::IamTokenInfo::insertStrListToProto
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: "Envoy::Http::RequestMessagePtr IamTokenInfo::prepareRequest(\n    absl::string_view
      token_url) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:118,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:119,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:120,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:121,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:121,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:128,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:129,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:130,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:131,1
    - Dst: JsonStruct::getTimestamp
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:137,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:139,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:140,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:141,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:145,1
    - Dst: ::google::protobuf::util::TimeUtil::GetCurrentTime
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:146,1
    - Dst: seconds
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 151
    functionName: espv2::envoy::token::IamTokenInfo::parseAccessToken
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached:
    - JsonStruct::getTimestamp
    - seconds
    - absl::Status::ok
    - JsonStruct::getString
    - ENVOY_LOG
    - ::google::protobuf::util::TimeUtil::GetCurrentTime
    - ::google::protobuf::util::JsonStringToMessage
    - std::chrono::seconds
    - absl::Status::ToString
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool IamTokenInfo::parseAccessToken(absl::string_view response,\n
      \                                   TokenResult* ret) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:161,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:162,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:163,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:164,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:164,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:171,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:172,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:173,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 181
    functionName: espv2::envoy::token::IamTokenInfo::parseIdentityToken
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - JsonStruct::getString
    - ENVOY_LOG
    - ::google::protobuf::util::JsonStringToMessage
    - absl::Status::ToString
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool IamTokenInfo::parseIdentityToken(absl::string_view response,\n
      \                                     TokenResult* ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::ProtobufWkt::Value::mutable_list_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:189,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:190,1
    - Dst: mutable_struct_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:192,1
    - Dst: Swap
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' body'
    - ' key'
    - ' val_list'
    - ' val_prefix'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - ::google::protobuf::RepeatedPtrField<std::string>
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: espv2::envoy::token::IamTokenInfo::insertStrListToProto
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 5
    functionsReached:
    - mutable_struct_value
    - absl::StrCat
    - Envoy::ProtobufWkt::Value::mutable_list_value
    - Swap
    linkageType: ''
    returnType: void
    signature: "void IamTokenInfo::insertStrListToProto(\n    Envoy::ProtobufWkt::Value&
      body, const std::string& key,\n    const ::google::protobuf::RepeatedPtrField<std::string>&
      val_list,\n    const absl::string_view& val_prefix) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' delegates'
    - ' scopes'
    - include_email
    - access_token_fn
    argTypes:
    - ::google::protobuf::RepeatedPtrField<std::string>
    - ::google::protobuf::RepeatedPtrField<std::string>
    - bool
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: espv2::envoy::token::IamTokenInfo::IamTokenInfo
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void IamTokenInfo::IamTokenInfo(\n    const ::google::protobuf::RepeatedPtrField<std::string>&
      delegates,\n    const ::google::protobuf::RepeatedPtrField<std::string>& scopes,\n
      \   const bool include_email, const GetTokenFunc access_token_fn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: access_token_fn_
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:61,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:63,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:72,1
    - Dst: Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:74,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:75,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:76,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:76,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:77,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:77,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:81,1
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:81,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:84,1
    - Dst: espv2::envoy::token::IamTokenInfo::insertStrListToProto
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:85,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:88,1
    - Dst: espv2::envoy::token::IamTokenInfo::insertStrListToProto
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:89,1
    - Dst: Envoy::ProtobufWkt::Value::set_bool_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:94,1
    - Dst: Envoy::ProtobufWkt::Value::mutable_struct_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:95,1
    - Dst: Swap
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:95,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:98,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:98,1
    - Dst: Envoy::MessageUtil::getJsonStringFromMessage
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:100,1
    - Dst: auto::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:101,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:102,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:102,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - token_url
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 107
    functionName: espv2::envoy::token::IamTokenInfo::prepareRequest
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached:
    - Envoy::ProtobufWkt::Value::set_bool_value
    - Envoy::Http::RequestMessagePtr::body
    - empty
    - auto::value
    - std::move
    - Envoy::Http::Utility::extractHostPathFromUri
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
    - Swap
    - auto::ok
    - std::string::empty
    - access_token_fn_
    - Envoy::MessageUtil::getJsonStringFromMessage
    - Envoy::Http::Headers::get
    - std::string
    - Envoy::ProtobufWkt::Value::mutable_struct_value
    - espv2::envoy::token::IamTokenInfo::insertStrListToProto
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: "Envoy::Http::RequestMessagePtr IamTokenInfo::prepareRequest(\n    absl::string_view
      token_url) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:118,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:119,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:120,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:121,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:121,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:128,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:129,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:130,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:131,1
    - Dst: JsonStruct::getTimestamp
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:137,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:139,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:140,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:141,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:145,1
    - Dst: ::google::protobuf::util::TimeUtil::GetCurrentTime
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:146,1
    - Dst: seconds
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 151
    functionName: espv2::envoy::token::IamTokenInfo::parseAccessToken
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached:
    - JsonStruct::getTimestamp
    - seconds
    - absl::Status::ok
    - JsonStruct::getString
    - ENVOY_LOG
    - ::google::protobuf::util::TimeUtil::GetCurrentTime
    - ::google::protobuf::util::JsonStringToMessage
    - std::chrono::seconds
    - absl::Status::ToString
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool IamTokenInfo::parseAccessToken(absl::string_view response,\n
      \                                   TokenResult* ret) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:161,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:162,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:163,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:164,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:164,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:171,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:172,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:173,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 181
    functionName: espv2::envoy::token::IamTokenInfo::parseIdentityToken
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - JsonStruct::getString
    - ENVOY_LOG
    - ::google::protobuf::util::JsonStringToMessage
    - absl::Status::ToString
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool IamTokenInfo::parseIdentityToken(absl::string_view response,\n
      \                                     TokenResult* ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::ProtobufWkt::Value::mutable_list_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:189,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:190,1
    - Dst: mutable_struct_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:192,1
    - Dst: Swap
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' body'
    - ' key'
    - ' val_list'
    - ' val_prefix'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - ::google::protobuf::RepeatedPtrField<std::string>
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: espv2::envoy::token::IamTokenInfo::insertStrListToProto
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 6
    functionsReached:
    - mutable_struct_value
    - absl::StrCat
    - Envoy::ProtobufWkt::Value::mutable_list_value
    - Swap
    linkageType: ''
    returnType: void
    signature: "void IamTokenInfo::insertStrListToProto(\n    Envoy::ProtobufWkt::Value&
      body, const std::string& key,\n    const ::google::protobuf::RepeatedPtrField<std::string>&
      val_list,\n    const absl::string_view& val_prefix) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' delegates'
    - ' scopes'
    - include_email
    - access_token_fn
    argTypes:
    - ::google::protobuf::RepeatedPtrField<std::string>
    - ::google::protobuf::RepeatedPtrField<std::string>
    - bool
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: espv2::envoy::token::IamTokenInfo::IamTokenInfo
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void IamTokenInfo::IamTokenInfo(\n    const ::google::protobuf::RepeatedPtrField<std::string>&
      delegates,\n    const ::google::protobuf::RepeatedPtrField<std::string>& scopes,\n
      \   const bool include_email, const GetTokenFunc access_token_fn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: access_token_fn_
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:61,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:63,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:72,1
    - Dst: Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:74,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:75,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:76,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:76,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:77,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:77,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:81,1
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:81,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:84,1
    - Dst: espv2::envoy::token::IamTokenInfo::insertStrListToProto
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:85,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:88,1
    - Dst: espv2::envoy::token::IamTokenInfo::insertStrListToProto
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:89,1
    - Dst: Envoy::ProtobufWkt::Value::set_bool_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:94,1
    - Dst: Envoy::ProtobufWkt::Value::mutable_struct_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:95,1
    - Dst: Swap
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:95,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:98,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:98,1
    - Dst: Envoy::MessageUtil::getJsonStringFromMessage
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:100,1
    - Dst: auto::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:101,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:102,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:102,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - token_url
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 107
    functionName: espv2::envoy::token::IamTokenInfo::prepareRequest
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached:
    - Envoy::ProtobufWkt::Value::set_bool_value
    - Envoy::Http::RequestMessagePtr::body
    - empty
    - auto::value
    - std::move
    - Envoy::Http::Utility::extractHostPathFromUri
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
    - Swap
    - auto::ok
    - std::string::empty
    - access_token_fn_
    - Envoy::MessageUtil::getJsonStringFromMessage
    - Envoy::Http::Headers::get
    - std::string
    - Envoy::ProtobufWkt::Value::mutable_struct_value
    - espv2::envoy::token::IamTokenInfo::insertStrListToProto
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: "Envoy::Http::RequestMessagePtr IamTokenInfo::prepareRequest(\n    absl::string_view
      token_url) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:118,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:119,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:120,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:121,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:121,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:128,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:129,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:130,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:131,1
    - Dst: JsonStruct::getTimestamp
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:137,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:139,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:140,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:141,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:145,1
    - Dst: ::google::protobuf::util::TimeUtil::GetCurrentTime
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:146,1
    - Dst: seconds
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 151
    functionName: espv2::envoy::token::IamTokenInfo::parseAccessToken
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached:
    - JsonStruct::getTimestamp
    - seconds
    - absl::Status::ok
    - JsonStruct::getString
    - ENVOY_LOG
    - ::google::protobuf::util::TimeUtil::GetCurrentTime
    - ::google::protobuf::util::JsonStringToMessage
    - std::chrono::seconds
    - absl::Status::ToString
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool IamTokenInfo::parseAccessToken(absl::string_view response,\n
      \                                   TokenResult* ret) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:161,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:162,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:163,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:164,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:164,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:171,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:172,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:173,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 181
    functionName: espv2::envoy::token::IamTokenInfo::parseIdentityToken
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - JsonStruct::getString
    - ENVOY_LOG
    - ::google::protobuf::util::JsonStringToMessage
    - absl::Status::ToString
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool IamTokenInfo::parseIdentityToken(absl::string_view response,\n
      \                                     TokenResult* ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::ProtobufWkt::Value::mutable_list_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:189,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:190,1
    - Dst: mutable_struct_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:192,1
    - Dst: Swap
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' body'
    - ' key'
    - ' val_list'
    - ' val_prefix'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - ::google::protobuf::RepeatedPtrField<std::string>
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: espv2::envoy::token::IamTokenInfo::insertStrListToProto
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 7
    functionsReached:
    - mutable_struct_value
    - absl::StrCat
    - Envoy::ProtobufWkt::Value::mutable_list_value
    - Swap
    linkageType: ''
    returnType: void
    signature: "void IamTokenInfo::insertStrListToProto(\n    Envoy::ProtobufWkt::Value&
      body, const std::string& key,\n    const ::google::protobuf::RepeatedPtrField<std::string>&
      val_list,\n    const absl::string_view& val_prefix) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - ' delegates'
    - ' scopes'
    - include_email
    - access_token_fn
    argTypes:
    - ::google::protobuf::RepeatedPtrField<std::string>
    - ::google::protobuf::RepeatedPtrField<std::string>
    - bool
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: espv2::envoy::token::IamTokenInfo::IamTokenInfo
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void IamTokenInfo::IamTokenInfo(\n    const ::google::protobuf::RepeatedPtrField<std::string>&
      delegates,\n    const ::google::protobuf::RepeatedPtrField<std::string>& scopes,\n
      \   const bool include_email, const GetTokenFunc access_token_fn)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: access_token_fn_
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:61,1
    - Dst: std::string::empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:63,1
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:72,1
    - Dst: Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:74,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:75,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:76,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:76,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:77,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:77,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:81,1
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:81,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:84,1
    - Dst: espv2::envoy::token::IamTokenInfo::insertStrListToProto
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:85,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:88,1
    - Dst: espv2::envoy::token::IamTokenInfo::insertStrListToProto
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:89,1
    - Dst: Envoy::ProtobufWkt::Value::set_bool_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:94,1
    - Dst: Envoy::ProtobufWkt::Value::mutable_struct_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:95,1
    - Dst: Swap
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:95,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:98,1
    - Dst: empty
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:98,1
    - Dst: Envoy::MessageUtil::getJsonStringFromMessage
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:100,1
    - Dst: auto::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:101,1
    - Dst: Envoy::Http::RequestMessagePtr::body
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:102,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:102,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - token_url
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 107
    functionName: espv2::envoy::token::IamTokenInfo::prepareRequest
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached:
    - Envoy::ProtobufWkt::Value::set_bool_value
    - Envoy::Http::RequestMessagePtr::body
    - empty
    - auto::value
    - std::move
    - Envoy::Http::Utility::extractHostPathFromUri
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
    - Swap
    - auto::ok
    - std::string::empty
    - access_token_fn_
    - Envoy::MessageUtil::getJsonStringFromMessage
    - Envoy::Http::Headers::get
    - std::string
    - Envoy::ProtobufWkt::Value::mutable_struct_value
    - espv2::envoy::token::IamTokenInfo::insertStrListToProto
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: "Envoy::Http::RequestMessagePtr IamTokenInfo::prepareRequest(\n    absl::string_view
      token_url) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:118,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:119,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:120,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:121,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:121,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:128,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:129,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:130,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:131,1
    - Dst: JsonStruct::getTimestamp
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:137,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:139,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:140,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:141,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:145,1
    - Dst: ::google::protobuf::util::TimeUtil::GetCurrentTime
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:146,1
    - Dst: seconds
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 151
    functionName: espv2::envoy::token::IamTokenInfo::parseAccessToken
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached:
    - JsonStruct::getTimestamp
    - seconds
    - absl::Status::ok
    - JsonStruct::getString
    - ENVOY_LOG
    - ::google::protobuf::util::TimeUtil::GetCurrentTime
    - ::google::protobuf::util::JsonStringToMessage
    - std::chrono::seconds
    - absl::Status::ToString
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool IamTokenInfo::parseAccessToken(absl::string_view response,\n
      \                                   TokenResult* ret) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:161,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:162,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:163,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:164,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:164,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:171,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:172,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:173,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 181
    functionName: espv2::envoy::token::IamTokenInfo::parseIdentityToken
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - JsonStruct::getString
    - ENVOY_LOG
    - ::google::protobuf::util::JsonStringToMessage
    - absl::Status::ToString
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool IamTokenInfo::parseIdentityToken(absl::string_view response,\n
      \                                     TokenResult* ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::ProtobufWkt::Value::mutable_list_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:189,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:190,1
    - Dst: mutable_struct_value
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:192,1
    - Dst: Swap
      Src: /src/esp-v2/src/envoy/token/iam_token_info.cc:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ' body'
    - ' key'
    - ' val_list'
    - ' val_prefix'
    argTypes:
    - Envoy::ProtobufWkt::Value
    - std::string
    - ::google::protobuf::RepeatedPtrField<std::string>
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: espv2::envoy::token::IamTokenInfo::insertStrListToProto
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info.cc
    functionUses: 8
    functionsReached:
    - mutable_struct_value
    - absl::StrCat
    - Envoy::ProtobufWkt::Value::mutable_list_value
    - Swap
    linkageType: ''
    returnType: void
    signature: "void IamTokenInfo::insertStrListToProto(\n    Envoy::ProtobufWkt::Value&
      body, const std::string& key,\n    const ::google::protobuf::RepeatedPtrField<std::string>&
      val_list,\n    const absl::string_view& val_prefix) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:33,1
    - Dst: ImdsTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: ImdsTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: ImdsTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ImdsTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - ImdsTokenInfo::prepareRequest
    - ImdsTokenInfo::parseAccessToken
    - Envoy::TestUtility::validate
    - DebugString
    - resp_body
    - token_url
    - ENVOY_LOG_MISC
    - ImdsTokenInfo::parseIdentityToken
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ImdsTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:33,1
    - Dst: ImdsTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: ImdsTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: ImdsTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ImdsTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - ImdsTokenInfo::prepareRequest
    - ImdsTokenInfo::parseAccessToken
    - Envoy::TestUtility::validate
    - DebugString
    - resp_body
    - token_url
    - ENVOY_LOG_MISC
    - ImdsTokenInfo::parseIdentityToken
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ImdsTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:33,1
    - Dst: ImdsTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: ImdsTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: ImdsTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ImdsTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - ImdsTokenInfo::prepareRequest
    - ImdsTokenInfo::parseAccessToken
    - Envoy::TestUtility::validate
    - DebugString
    - resp_body
    - token_url
    - ENVOY_LOG_MISC
    - ImdsTokenInfo::parseIdentityToken
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ImdsTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:33,1
    - Dst: ImdsTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: ImdsTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: ImdsTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ImdsTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - ImdsTokenInfo::prepareRequest
    - ImdsTokenInfo::parseAccessToken
    - Envoy::TestUtility::validate
    - DebugString
    - resp_body
    - token_url
    - ENVOY_LOG_MISC
    - ImdsTokenInfo::parseIdentityToken
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ImdsTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:33,1
    - Dst: ImdsTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: ImdsTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: ImdsTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ImdsTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - ImdsTokenInfo::prepareRequest
    - ImdsTokenInfo::parseAccessToken
    - Envoy::TestUtility::validate
    - DebugString
    - resp_body
    - token_url
    - ENVOY_LOG_MISC
    - ImdsTokenInfo::parseIdentityToken
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ImdsTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:33,1
    - Dst: ImdsTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: ImdsTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: ImdsTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ImdsTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - ImdsTokenInfo::prepareRequest
    - ImdsTokenInfo::parseAccessToken
    - Envoy::TestUtility::validate
    - DebugString
    - resp_body
    - token_url
    - ENVOY_LOG_MISC
    - ImdsTokenInfo::parseIdentityToken
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ImdsTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:33,1
    - Dst: ImdsTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: ImdsTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: ImdsTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ImdsTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - ImdsTokenInfo::prepareRequest
    - ImdsTokenInfo::parseAccessToken
    - Envoy::TestUtility::validate
    - DebugString
    - resp_body
    - token_url
    - ENVOY_LOG_MISC
    - ImdsTokenInfo::parseIdentityToken
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ImdsTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:33,1
    - Dst: ImdsTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: ImdsTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: ImdsTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ImdsTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - ImdsTokenInfo::prepareRequest
    - ImdsTokenInfo::parseAccessToken
    - Envoy::TestUtility::validate
    - DebugString
    - resp_body
    - token_url
    - ENVOY_LOG_MISC
    - ImdsTokenInfo::parseIdentityToken
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ImdsTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:33,1
    - Dst: ImdsTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: ImdsTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: ImdsTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ImdsTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - ImdsTokenInfo::prepareRequest
    - ImdsTokenInfo::parseAccessToken
    - Envoy::TestUtility::validate
    - DebugString
    - resp_body
    - token_url
    - ENVOY_LOG_MISC
    - ImdsTokenInfo::parseIdentityToken
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ImdsTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:33,1
    - Dst: ImdsTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: ImdsTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: ImdsTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ImdsTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - ImdsTokenInfo::prepareRequest
    - ImdsTokenInfo::parseAccessToken
    - Envoy::TestUtility::validate
    - DebugString
    - resp_body
    - token_url
    - ENVOY_LOG_MISC
    - ImdsTokenInfo::parseIdentityToken
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ImdsTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:33,1
    - Dst: ImdsTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: ImdsTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: ImdsTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ImdsTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - ImdsTokenInfo::prepareRequest
    - ImdsTokenInfo::parseAccessToken
    - Envoy::TestUtility::validate
    - DebugString
    - resp_body
    - token_url
    - ENVOY_LOG_MISC
    - ImdsTokenInfo::parseIdentityToken
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ImdsTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:33,1
    - Dst: ImdsTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: ImdsTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: ImdsTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ImdsTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - ImdsTokenInfo::prepareRequest
    - ImdsTokenInfo::parseAccessToken
    - Envoy::TestUtility::validate
    - DebugString
    - resp_body
    - token_url
    - ENVOY_LOG_MISC
    - ImdsTokenInfo::parseIdentityToken
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ImdsTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:33,1
    - Dst: ImdsTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: ImdsTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: ImdsTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ImdsTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - ImdsTokenInfo::prepareRequest
    - ImdsTokenInfo::parseAccessToken
    - Envoy::TestUtility::validate
    - DebugString
    - resp_body
    - token_url
    - ENVOY_LOG_MISC
    - ImdsTokenInfo::parseIdentityToken
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ImdsTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:33,1
    - Dst: ImdsTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: ImdsTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: ImdsTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ImdsTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - ImdsTokenInfo::prepareRequest
    - ImdsTokenInfo::parseAccessToken
    - Envoy::TestUtility::validate
    - DebugString
    - resp_body
    - token_url
    - ENVOY_LOG_MISC
    - ImdsTokenInfo::parseIdentityToken
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ImdsTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:33,1
    - Dst: ImdsTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: ImdsTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: ImdsTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ImdsTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - ImdsTokenInfo::prepareRequest
    - ImdsTokenInfo::parseAccessToken
    - Envoy::TestUtility::validate
    - DebugString
    - resp_body
    - token_url
    - ENVOY_LOG_MISC
    - ImdsTokenInfo::parseIdentityToken
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ImdsTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:33,1
    - Dst: ImdsTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:39,1
    - Dst: ImdsTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:40,1
    - Dst: ImdsTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:41,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::ImdsTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - ImdsTokenInfo::prepareRequest
    - ImdsTokenInfo::parseAccessToken
    - Envoy::TestUtility::validate
    - DebugString
    - resp_body
    - token_url
    - ENVOY_LOG_MISC
    - ImdsTokenInfo::parseIdentityToken
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::ImdsTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:33,1
    - Dst: access_token
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:36,1
    - Dst: delegates
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: scopes
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: include_email
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:40,1
    - Dst: IamTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: IamTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: IamTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::IamTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - scopes
    - Envoy::TestUtility::validate
    - DebugString
    - access_token
    - IamTokenInfo::prepareRequest
    - IamTokenInfo::parseAccessToken
    - resp_body
    - IamTokenInfo::parseIdentityToken
    - include_email
    - token_url
    - ENVOY_LOG_MISC
    - delegates
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::IamTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:33,1
    - Dst: access_token
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:36,1
    - Dst: delegates
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: scopes
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: include_email
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:40,1
    - Dst: IamTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: IamTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: IamTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::IamTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - scopes
    - Envoy::TestUtility::validate
    - DebugString
    - access_token
    - IamTokenInfo::prepareRequest
    - IamTokenInfo::parseAccessToken
    - resp_body
    - IamTokenInfo::parseIdentityToken
    - include_email
    - token_url
    - ENVOY_LOG_MISC
    - delegates
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::IamTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:33,1
    - Dst: access_token
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:36,1
    - Dst: delegates
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: scopes
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: include_email
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:40,1
    - Dst: IamTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: IamTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: IamTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::IamTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - scopes
    - Envoy::TestUtility::validate
    - DebugString
    - access_token
    - IamTokenInfo::prepareRequest
    - IamTokenInfo::parseAccessToken
    - resp_body
    - IamTokenInfo::parseIdentityToken
    - include_email
    - token_url
    - ENVOY_LOG_MISC
    - delegates
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::IamTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:33,1
    - Dst: access_token
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:36,1
    - Dst: delegates
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: scopes
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: include_email
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:40,1
    - Dst: IamTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: IamTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: IamTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::IamTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - scopes
    - Envoy::TestUtility::validate
    - DebugString
    - access_token
    - IamTokenInfo::prepareRequest
    - IamTokenInfo::parseAccessToken
    - resp_body
    - IamTokenInfo::parseIdentityToken
    - include_email
    - token_url
    - ENVOY_LOG_MISC
    - delegates
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::IamTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:33,1
    - Dst: access_token
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:36,1
    - Dst: delegates
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: scopes
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: include_email
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:40,1
    - Dst: IamTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: IamTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: IamTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::IamTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - scopes
    - Envoy::TestUtility::validate
    - DebugString
    - access_token
    - IamTokenInfo::prepareRequest
    - IamTokenInfo::parseAccessToken
    - resp_body
    - IamTokenInfo::parseIdentityToken
    - include_email
    - token_url
    - ENVOY_LOG_MISC
    - delegates
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::IamTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:33,1
    - Dst: access_token
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:36,1
    - Dst: delegates
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: scopes
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: include_email
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:40,1
    - Dst: IamTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: IamTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: IamTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::IamTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - scopes
    - Envoy::TestUtility::validate
    - DebugString
    - access_token
    - IamTokenInfo::prepareRequest
    - IamTokenInfo::parseAccessToken
    - resp_body
    - IamTokenInfo::parseIdentityToken
    - include_email
    - token_url
    - ENVOY_LOG_MISC
    - delegates
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::IamTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:33,1
    - Dst: access_token
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:36,1
    - Dst: delegates
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: scopes
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: include_email
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:40,1
    - Dst: IamTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: IamTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: IamTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::IamTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - scopes
    - Envoy::TestUtility::validate
    - DebugString
    - access_token
    - IamTokenInfo::prepareRequest
    - IamTokenInfo::parseAccessToken
    - resp_body
    - IamTokenInfo::parseIdentityToken
    - include_email
    - token_url
    - ENVOY_LOG_MISC
    - delegates
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::IamTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:33,1
    - Dst: access_token
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:36,1
    - Dst: delegates
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: scopes
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: include_email
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:40,1
    - Dst: IamTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: IamTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: IamTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::IamTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - scopes
    - Envoy::TestUtility::validate
    - DebugString
    - access_token
    - IamTokenInfo::prepareRequest
    - IamTokenInfo::parseAccessToken
    - resp_body
    - IamTokenInfo::parseIdentityToken
    - include_email
    - token_url
    - ENVOY_LOG_MISC
    - delegates
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::IamTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:33,1
    - Dst: access_token
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:36,1
    - Dst: delegates
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: scopes
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: include_email
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:40,1
    - Dst: IamTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: IamTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: IamTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::IamTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - scopes
    - Envoy::TestUtility::validate
    - DebugString
    - access_token
    - IamTokenInfo::prepareRequest
    - IamTokenInfo::parseAccessToken
    - resp_body
    - IamTokenInfo::parseIdentityToken
    - include_email
    - token_url
    - ENVOY_LOG_MISC
    - delegates
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::IamTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:33,1
    - Dst: access_token
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:36,1
    - Dst: delegates
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: scopes
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: include_email
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:40,1
    - Dst: IamTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: IamTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: IamTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::IamTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - scopes
    - Envoy::TestUtility::validate
    - DebugString
    - access_token
    - IamTokenInfo::prepareRequest
    - IamTokenInfo::parseAccessToken
    - resp_body
    - IamTokenInfo::parseIdentityToken
    - include_email
    - token_url
    - ENVOY_LOG_MISC
    - delegates
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::IamTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:33,1
    - Dst: access_token
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:36,1
    - Dst: delegates
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: scopes
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: include_email
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:40,1
    - Dst: IamTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: IamTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: IamTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::IamTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - scopes
    - Envoy::TestUtility::validate
    - DebugString
    - access_token
    - IamTokenInfo::prepareRequest
    - IamTokenInfo::parseAccessToken
    - resp_body
    - IamTokenInfo::parseIdentityToken
    - include_email
    - token_url
    - ENVOY_LOG_MISC
    - delegates
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::IamTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:33,1
    - Dst: access_token
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:36,1
    - Dst: delegates
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: scopes
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: include_email
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:40,1
    - Dst: IamTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: IamTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: IamTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::IamTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - scopes
    - Envoy::TestUtility::validate
    - DebugString
    - access_token
    - IamTokenInfo::prepareRequest
    - IamTokenInfo::parseAccessToken
    - resp_body
    - IamTokenInfo::parseIdentityToken
    - include_email
    - token_url
    - ENVOY_LOG_MISC
    - delegates
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::IamTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:33,1
    - Dst: access_token
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:36,1
    - Dst: delegates
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: scopes
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: include_email
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:40,1
    - Dst: IamTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: IamTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: IamTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::IamTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - scopes
    - Envoy::TestUtility::validate
    - DebugString
    - access_token
    - IamTokenInfo::prepareRequest
    - IamTokenInfo::parseAccessToken
    - resp_body
    - IamTokenInfo::parseIdentityToken
    - include_email
    - token_url
    - ENVOY_LOG_MISC
    - delegates
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::IamTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:33,1
    - Dst: access_token
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:36,1
    - Dst: delegates
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: scopes
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: include_email
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:40,1
    - Dst: IamTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: IamTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: IamTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::IamTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - scopes
    - Envoy::TestUtility::validate
    - DebugString
    - access_token
    - IamTokenInfo::prepareRequest
    - IamTokenInfo::parseAccessToken
    - resp_body
    - IamTokenInfo::parseIdentityToken
    - include_email
    - token_url
    - ENVOY_LOG_MISC
    - delegates
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::IamTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:33,1
    - Dst: access_token
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:36,1
    - Dst: delegates
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: scopes
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: include_email
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:40,1
    - Dst: IamTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: IamTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: IamTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::IamTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - scopes
    - Envoy::TestUtility::validate
    - DebugString
    - access_token
    - IamTokenInfo::prepareRequest
    - IamTokenInfo::parseAccessToken
    - resp_body
    - IamTokenInfo::parseIdentityToken
    - include_email
    - token_url
    - ENVOY_LOG_MISC
    - delegates
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::IamTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: DebugString
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:30,1
    - Dst: Envoy::TestUtility::validate
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:33,1
    - Dst: access_token
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:36,1
    - Dst: delegates
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: scopes
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:39,1
    - Dst: include_email
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:40,1
    - Dst: IamTokenInfo::prepareRequest
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: token_url
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:44,1
    - Dst: IamTokenInfo::parseAccessToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:45,1
    - Dst: IamTokenInfo::parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: resp_body
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:46,1
    - Dst: ENVOY_LOG_MISC
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    - Dst: what
      Src: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ' input'
    argTypes:
    - espv2::tests::fuzz::protos::IamTokenInfoInput
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
    functionSourceFile: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - what
    - scopes
    - Envoy::TestUtility::validate
    - DebugString
    - access_token
    - IamTokenInfo::prepareRequest
    - IamTokenInfo::parseAccessToken
    - resp_body
    - IamTokenInfo::parseIdentityToken
    - include_email
    - token_url
    - ENVOY_LOG_MISC
    - delegates
    linkageType: ''
    returnType: void
    signature: "void DEFINE_PROTO_FUZZER(\n    const espv2::tests::fuzz::protos::IamTokenInfoInput&
      input)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NiceMock<MockTokenInfo>>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:61,1
    - Dst: Envoy::Event::MockTimer::MockTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: espv2::envoy::token::test::TokenSubscriberTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Event::MockTimer::MockTimer
    - std::make_unique<NiceMock<MockTokenInfo>>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: add
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:67,1
    - Dst: createHandle
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:68,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:72,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:73,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:77,1
    - Dst: swap
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:81,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:88,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:95,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:97,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:99,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: initialize
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - token_type
    - error_behavior
    argTypes:
    - TokenType
    - DependencyErrorBehavior
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 109
    functionName: espv2::envoy::token::test::TokenSubscriberTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - swap
    - createHandle
    - initialize
    - ready
    - Invoke
    - EXPECT_CALL
    - std::move
    - Return
    - createTimer_
    - init
    - add
    - send_
    - std::make_unique<TokenSubscriber>
    - getThreadLocalCluster
    - std::chrono::seconds
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void setUp(TokenType token_type, DependencyErrorBehavior error_behavior)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:150,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:154,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - ByMove
    - EXPECT_CALL
    - ASSERT_EQ
    - prepareRequest
    - ASSERT_FALSE
    - Return
    - Call
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, HandleMissingPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:161,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:167,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - ASSERT_EQ
    - headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, VerifyRemoteRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:187,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:195,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:200,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:210,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200Response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:217,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:222,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:230,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:234,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:244,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 246
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200ResponseButInitAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:251,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:256,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:264,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:269,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:277,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 279
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessMissingStatusResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:284,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:300,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:305,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:315,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 317
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - parseIdentityToken
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseIdentityToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:322,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:338,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:343,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:353,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 355
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseAccessToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:360,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:365,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:381,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:386,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:396,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 398
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenSantizationCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:403,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:408,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:412,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:424,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:429,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:439,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 441
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenPastExpiryCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:446,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:451,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:455,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:467,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:472,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:482,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 484
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, Success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:496,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:514,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:518,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:519,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:522,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:526,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:536,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 538
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - std::move
    - ASSERT_FALSE
    - timer_cb_
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - enableTimer
    - setUp
    - parseAccessToken
    - ByMove
    - ASSERT_EQ
    - Return
    - ASSERT_TRUE
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - onSuccess
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - prepareRequest
    - Call
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:545,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:550,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:554,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:568,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:571,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:572,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:575,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:579,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:589,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 591
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - ASSERT_EQ
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - Call
    - timer_cb_
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccessWithAlwaysInit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:597,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:599,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:600,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:601,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:606,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:609,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:618,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:623,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:633,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 635
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryShortExpiryTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NiceMock<MockTokenInfo>>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:61,1
    - Dst: Envoy::Event::MockTimer::MockTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: espv2::envoy::token::test::TokenSubscriberTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Event::MockTimer::MockTimer
    - std::make_unique<NiceMock<MockTokenInfo>>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: add
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:67,1
    - Dst: createHandle
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:68,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:72,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:73,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:77,1
    - Dst: swap
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:81,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:88,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:95,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:97,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:99,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: initialize
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - token_type
    - error_behavior
    argTypes:
    - TokenType
    - DependencyErrorBehavior
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 109
    functionName: espv2::envoy::token::test::TokenSubscriberTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - swap
    - createHandle
    - initialize
    - ready
    - Invoke
    - EXPECT_CALL
    - std::move
    - Return
    - createTimer_
    - init
    - add
    - send_
    - std::make_unique<TokenSubscriber>
    - getThreadLocalCluster
    - std::chrono::seconds
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void setUp(TokenType token_type, DependencyErrorBehavior error_behavior)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:150,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:154,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - ByMove
    - EXPECT_CALL
    - ASSERT_EQ
    - prepareRequest
    - ASSERT_FALSE
    - Return
    - Call
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, HandleMissingPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:161,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:167,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - ASSERT_EQ
    - headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, VerifyRemoteRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:187,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:195,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:200,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:210,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200Response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:217,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:222,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:230,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:234,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:244,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 246
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200ResponseButInitAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:251,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:256,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:264,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:269,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:277,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 279
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessMissingStatusResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:284,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:300,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:305,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:315,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 317
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - parseIdentityToken
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseIdentityToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:322,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:338,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:343,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:353,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 355
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseAccessToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:360,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:365,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:381,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:386,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:396,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 398
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenSantizationCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:403,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:408,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:412,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:424,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:429,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:439,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 441
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenPastExpiryCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:446,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:451,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:455,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:467,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:472,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:482,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 484
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, Success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:496,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:514,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:518,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:519,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:522,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:526,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:536,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 538
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - std::move
    - ASSERT_FALSE
    - timer_cb_
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - enableTimer
    - setUp
    - parseAccessToken
    - ByMove
    - ASSERT_EQ
    - Return
    - ASSERT_TRUE
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - onSuccess
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - prepareRequest
    - Call
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:545,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:550,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:554,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:568,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:571,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:572,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:575,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:579,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:589,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 591
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - ASSERT_EQ
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - Call
    - timer_cb_
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccessWithAlwaysInit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:597,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:599,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:600,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:601,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:606,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:609,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:618,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:623,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:633,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 635
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryShortExpiryTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NiceMock<MockTokenInfo>>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:61,1
    - Dst: Envoy::Event::MockTimer::MockTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: espv2::envoy::token::test::TokenSubscriberTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Event::MockTimer::MockTimer
    - std::make_unique<NiceMock<MockTokenInfo>>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: add
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:67,1
    - Dst: createHandle
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:68,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:72,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:73,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:77,1
    - Dst: swap
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:81,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:88,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:95,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:97,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:99,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: initialize
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - token_type
    - error_behavior
    argTypes:
    - TokenType
    - DependencyErrorBehavior
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 109
    functionName: espv2::envoy::token::test::TokenSubscriberTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - swap
    - createHandle
    - initialize
    - ready
    - Invoke
    - EXPECT_CALL
    - std::move
    - Return
    - createTimer_
    - init
    - add
    - send_
    - std::make_unique<TokenSubscriber>
    - getThreadLocalCluster
    - std::chrono::seconds
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void setUp(TokenType token_type, DependencyErrorBehavior error_behavior)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:150,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:154,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - ByMove
    - EXPECT_CALL
    - ASSERT_EQ
    - prepareRequest
    - ASSERT_FALSE
    - Return
    - Call
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, HandleMissingPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:161,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:167,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - ASSERT_EQ
    - headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, VerifyRemoteRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:187,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:195,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:200,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:210,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200Response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:217,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:222,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:230,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:234,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:244,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 246
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200ResponseButInitAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:251,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:256,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:264,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:269,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:277,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 279
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessMissingStatusResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:284,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:300,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:305,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:315,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 317
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - parseIdentityToken
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseIdentityToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:322,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:338,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:343,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:353,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 355
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseAccessToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:360,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:365,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:381,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:386,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:396,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 398
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenSantizationCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:403,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:408,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:412,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:424,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:429,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:439,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 441
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenPastExpiryCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:446,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:451,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:455,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:467,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:472,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:482,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 484
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, Success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:496,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:514,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:518,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:519,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:522,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:526,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:536,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 538
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - std::move
    - ASSERT_FALSE
    - timer_cb_
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - enableTimer
    - setUp
    - parseAccessToken
    - ByMove
    - ASSERT_EQ
    - Return
    - ASSERT_TRUE
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - onSuccess
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - prepareRequest
    - Call
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:545,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:550,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:554,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:568,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:571,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:572,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:575,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:579,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:589,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 591
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - ASSERT_EQ
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - Call
    - timer_cb_
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccessWithAlwaysInit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:597,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:599,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:600,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:601,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:606,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:609,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:618,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:623,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:633,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 635
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryShortExpiryTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NiceMock<MockTokenInfo>>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:61,1
    - Dst: Envoy::Event::MockTimer::MockTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: espv2::envoy::token::test::TokenSubscriberTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Event::MockTimer::MockTimer
    - std::make_unique<NiceMock<MockTokenInfo>>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: add
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:67,1
    - Dst: createHandle
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:68,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:72,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:73,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:77,1
    - Dst: swap
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:81,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:88,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:95,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:97,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:99,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: initialize
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - token_type
    - error_behavior
    argTypes:
    - TokenType
    - DependencyErrorBehavior
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 109
    functionName: espv2::envoy::token::test::TokenSubscriberTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - swap
    - createHandle
    - initialize
    - ready
    - Invoke
    - EXPECT_CALL
    - std::move
    - Return
    - createTimer_
    - init
    - add
    - send_
    - std::make_unique<TokenSubscriber>
    - getThreadLocalCluster
    - std::chrono::seconds
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void setUp(TokenType token_type, DependencyErrorBehavior error_behavior)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:150,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:154,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - ByMove
    - EXPECT_CALL
    - ASSERT_EQ
    - prepareRequest
    - ASSERT_FALSE
    - Return
    - Call
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, HandleMissingPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:161,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:167,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - ASSERT_EQ
    - headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, VerifyRemoteRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:187,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:195,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:200,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:210,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200Response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:217,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:222,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:230,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:234,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:244,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 246
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200ResponseButInitAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:251,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:256,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:264,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:269,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:277,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 279
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessMissingStatusResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:284,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:300,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:305,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:315,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 317
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - parseIdentityToken
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseIdentityToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:322,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:338,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:343,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:353,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 355
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseAccessToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:360,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:365,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:381,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:386,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:396,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 398
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenSantizationCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:403,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:408,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:412,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:424,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:429,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:439,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 441
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenPastExpiryCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:446,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:451,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:455,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:467,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:472,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:482,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 484
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, Success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:496,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:514,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:518,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:519,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:522,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:526,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:536,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 538
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - std::move
    - ASSERT_FALSE
    - timer_cb_
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - enableTimer
    - setUp
    - parseAccessToken
    - ByMove
    - ASSERT_EQ
    - Return
    - ASSERT_TRUE
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - onSuccess
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - prepareRequest
    - Call
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:545,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:550,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:554,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:568,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:571,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:572,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:575,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:579,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:589,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 591
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - ASSERT_EQ
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - Call
    - timer_cb_
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccessWithAlwaysInit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:597,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:599,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:600,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:601,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:606,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:609,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:618,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:623,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:633,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 635
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryShortExpiryTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NiceMock<MockTokenInfo>>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:61,1
    - Dst: Envoy::Event::MockTimer::MockTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: espv2::envoy::token::test::TokenSubscriberTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Event::MockTimer::MockTimer
    - std::make_unique<NiceMock<MockTokenInfo>>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: add
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:67,1
    - Dst: createHandle
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:68,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:72,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:73,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:77,1
    - Dst: swap
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:81,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:88,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:95,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:97,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:99,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: initialize
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - token_type
    - error_behavior
    argTypes:
    - TokenType
    - DependencyErrorBehavior
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 109
    functionName: espv2::envoy::token::test::TokenSubscriberTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - swap
    - createHandle
    - initialize
    - ready
    - Invoke
    - EXPECT_CALL
    - std::move
    - Return
    - createTimer_
    - init
    - add
    - send_
    - std::make_unique<TokenSubscriber>
    - getThreadLocalCluster
    - std::chrono::seconds
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void setUp(TokenType token_type, DependencyErrorBehavior error_behavior)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:150,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:154,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - ByMove
    - EXPECT_CALL
    - ASSERT_EQ
    - prepareRequest
    - ASSERT_FALSE
    - Return
    - Call
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, HandleMissingPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:161,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:167,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - ASSERT_EQ
    - headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, VerifyRemoteRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:187,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:195,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:200,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:210,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200Response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:217,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:222,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:230,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:234,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:244,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 246
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200ResponseButInitAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:251,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:256,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:264,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:269,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:277,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 279
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessMissingStatusResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:284,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:300,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:305,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:315,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 317
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - parseIdentityToken
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseIdentityToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:322,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:338,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:343,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:353,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 355
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseAccessToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:360,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:365,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:381,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:386,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:396,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 398
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenSantizationCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:403,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:408,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:412,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:424,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:429,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:439,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 441
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenPastExpiryCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:446,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:451,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:455,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:467,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:472,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:482,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 484
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, Success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:496,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:514,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:518,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:519,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:522,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:526,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:536,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 538
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - std::move
    - ASSERT_FALSE
    - timer_cb_
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - enableTimer
    - setUp
    - parseAccessToken
    - ByMove
    - ASSERT_EQ
    - Return
    - ASSERT_TRUE
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - onSuccess
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - prepareRequest
    - Call
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:545,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:550,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:554,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:568,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:571,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:572,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:575,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:579,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:589,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 591
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - ASSERT_EQ
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - Call
    - timer_cb_
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccessWithAlwaysInit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:597,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:599,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:600,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:601,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:606,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:609,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:618,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:623,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:633,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 635
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryShortExpiryTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NiceMock<MockTokenInfo>>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:61,1
    - Dst: Envoy::Event::MockTimer::MockTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: espv2::envoy::token::test::TokenSubscriberTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Event::MockTimer::MockTimer
    - std::make_unique<NiceMock<MockTokenInfo>>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: add
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:67,1
    - Dst: createHandle
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:68,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:72,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:73,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:77,1
    - Dst: swap
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:81,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:88,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:95,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:97,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:99,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: initialize
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - token_type
    - error_behavior
    argTypes:
    - TokenType
    - DependencyErrorBehavior
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 109
    functionName: espv2::envoy::token::test::TokenSubscriberTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - swap
    - createHandle
    - initialize
    - ready
    - Invoke
    - EXPECT_CALL
    - std::move
    - Return
    - createTimer_
    - init
    - add
    - send_
    - std::make_unique<TokenSubscriber>
    - getThreadLocalCluster
    - std::chrono::seconds
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void setUp(TokenType token_type, DependencyErrorBehavior error_behavior)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:150,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:154,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - ByMove
    - EXPECT_CALL
    - ASSERT_EQ
    - prepareRequest
    - ASSERT_FALSE
    - Return
    - Call
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, HandleMissingPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:161,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:167,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - ASSERT_EQ
    - headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, VerifyRemoteRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:187,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:195,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:200,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:210,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200Response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:217,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:222,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:230,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:234,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:244,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 246
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200ResponseButInitAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:251,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:256,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:264,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:269,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:277,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 279
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessMissingStatusResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:284,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:300,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:305,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:315,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 317
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - parseIdentityToken
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseIdentityToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:322,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:338,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:343,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:353,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 355
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseAccessToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:360,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:365,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:381,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:386,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:396,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 398
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenSantizationCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:403,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:408,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:412,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:424,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:429,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:439,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 441
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenPastExpiryCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:446,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:451,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:455,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:467,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:472,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:482,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 484
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, Success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:496,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:514,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:518,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:519,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:522,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:526,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:536,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 538
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - std::move
    - ASSERT_FALSE
    - timer_cb_
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - enableTimer
    - setUp
    - parseAccessToken
    - ByMove
    - ASSERT_EQ
    - Return
    - ASSERT_TRUE
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - onSuccess
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - prepareRequest
    - Call
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:545,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:550,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:554,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:568,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:571,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:572,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:575,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:579,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:589,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 591
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - ASSERT_EQ
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - Call
    - timer_cb_
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccessWithAlwaysInit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:597,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:599,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:600,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:601,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:606,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:609,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:618,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:623,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:633,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 635
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryShortExpiryTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NiceMock<MockTokenInfo>>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:61,1
    - Dst: Envoy::Event::MockTimer::MockTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: espv2::envoy::token::test::TokenSubscriberTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Event::MockTimer::MockTimer
    - std::make_unique<NiceMock<MockTokenInfo>>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: add
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:67,1
    - Dst: createHandle
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:68,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:72,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:73,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:77,1
    - Dst: swap
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:81,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:88,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:95,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:97,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:99,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: initialize
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - token_type
    - error_behavior
    argTypes:
    - TokenType
    - DependencyErrorBehavior
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 109
    functionName: espv2::envoy::token::test::TokenSubscriberTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - swap
    - createHandle
    - initialize
    - ready
    - Invoke
    - EXPECT_CALL
    - std::move
    - Return
    - createTimer_
    - init
    - add
    - send_
    - std::make_unique<TokenSubscriber>
    - getThreadLocalCluster
    - std::chrono::seconds
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void setUp(TokenType token_type, DependencyErrorBehavior error_behavior)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:150,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:154,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - ByMove
    - EXPECT_CALL
    - ASSERT_EQ
    - prepareRequest
    - ASSERT_FALSE
    - Return
    - Call
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, HandleMissingPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:161,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:167,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - ASSERT_EQ
    - headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, VerifyRemoteRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:187,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:195,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:200,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:210,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200Response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:217,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:222,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:230,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:234,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:244,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 246
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200ResponseButInitAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:251,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:256,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:264,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:269,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:277,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 279
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessMissingStatusResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:284,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:300,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:305,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:315,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 317
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - parseIdentityToken
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseIdentityToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:322,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:338,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:343,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:353,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 355
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseAccessToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:360,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:365,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:381,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:386,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:396,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 398
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenSantizationCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:403,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:408,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:412,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:424,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:429,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:439,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 441
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenPastExpiryCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:446,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:451,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:455,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:467,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:472,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:482,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 484
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, Success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:496,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:514,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:518,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:519,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:522,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:526,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:536,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 538
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - std::move
    - ASSERT_FALSE
    - timer_cb_
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - enableTimer
    - setUp
    - parseAccessToken
    - ByMove
    - ASSERT_EQ
    - Return
    - ASSERT_TRUE
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - onSuccess
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - prepareRequest
    - Call
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:545,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:550,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:554,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:568,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:571,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:572,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:575,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:579,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:589,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 591
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - ASSERT_EQ
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - Call
    - timer_cb_
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccessWithAlwaysInit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:597,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:599,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:600,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:601,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:606,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:609,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:618,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:623,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:633,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 635
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryShortExpiryTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NiceMock<MockTokenInfo>>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:61,1
    - Dst: Envoy::Event::MockTimer::MockTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: espv2::envoy::token::test::TokenSubscriberTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Event::MockTimer::MockTimer
    - std::make_unique<NiceMock<MockTokenInfo>>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: add
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:67,1
    - Dst: createHandle
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:68,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:72,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:73,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:77,1
    - Dst: swap
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:81,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:88,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:95,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:97,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:99,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: initialize
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - token_type
    - error_behavior
    argTypes:
    - TokenType
    - DependencyErrorBehavior
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 109
    functionName: espv2::envoy::token::test::TokenSubscriberTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - swap
    - createHandle
    - initialize
    - ready
    - Invoke
    - EXPECT_CALL
    - std::move
    - Return
    - createTimer_
    - init
    - add
    - send_
    - std::make_unique<TokenSubscriber>
    - getThreadLocalCluster
    - std::chrono::seconds
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void setUp(TokenType token_type, DependencyErrorBehavior error_behavior)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:150,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:154,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - ByMove
    - EXPECT_CALL
    - ASSERT_EQ
    - prepareRequest
    - ASSERT_FALSE
    - Return
    - Call
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, HandleMissingPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:161,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:167,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - ASSERT_EQ
    - headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, VerifyRemoteRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:187,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:195,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:200,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:210,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200Response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:217,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:222,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:230,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:234,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:244,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 246
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200ResponseButInitAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:251,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:256,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:264,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:269,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:277,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 279
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessMissingStatusResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:284,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:300,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:305,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:315,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 317
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - parseIdentityToken
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseIdentityToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:322,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:338,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:343,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:353,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 355
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseAccessToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:360,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:365,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:381,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:386,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:396,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 398
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenSantizationCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:403,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:408,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:412,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:424,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:429,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:439,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 441
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenPastExpiryCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:446,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:451,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:455,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:467,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:472,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:482,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 484
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, Success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:496,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:514,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:518,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:519,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:522,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:526,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:536,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 538
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - std::move
    - ASSERT_FALSE
    - timer_cb_
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - enableTimer
    - setUp
    - parseAccessToken
    - ByMove
    - ASSERT_EQ
    - Return
    - ASSERT_TRUE
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - onSuccess
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - prepareRequest
    - Call
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:545,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:550,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:554,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:568,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:571,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:572,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:575,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:579,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:589,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 591
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - ASSERT_EQ
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - Call
    - timer_cb_
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccessWithAlwaysInit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:597,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:599,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:600,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:601,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:606,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:609,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:618,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:623,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:633,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 635
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryShortExpiryTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NiceMock<MockTokenInfo>>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:61,1
    - Dst: Envoy::Event::MockTimer::MockTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: espv2::envoy::token::test::TokenSubscriberTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Event::MockTimer::MockTimer
    - std::make_unique<NiceMock<MockTokenInfo>>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: add
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:67,1
    - Dst: createHandle
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:68,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:72,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:73,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:77,1
    - Dst: swap
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:81,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:88,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:95,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:97,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:99,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: initialize
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - token_type
    - error_behavior
    argTypes:
    - TokenType
    - DependencyErrorBehavior
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 109
    functionName: espv2::envoy::token::test::TokenSubscriberTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - swap
    - createHandle
    - initialize
    - ready
    - Invoke
    - EXPECT_CALL
    - std::move
    - Return
    - createTimer_
    - init
    - add
    - send_
    - std::make_unique<TokenSubscriber>
    - getThreadLocalCluster
    - std::chrono::seconds
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void setUp(TokenType token_type, DependencyErrorBehavior error_behavior)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:150,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:154,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - ByMove
    - EXPECT_CALL
    - ASSERT_EQ
    - prepareRequest
    - ASSERT_FALSE
    - Return
    - Call
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, HandleMissingPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:161,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:167,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - ASSERT_EQ
    - headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, VerifyRemoteRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:187,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:195,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:200,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:210,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200Response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:217,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:222,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:230,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:234,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:244,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 246
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200ResponseButInitAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:251,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:256,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:264,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:269,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:277,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 279
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessMissingStatusResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:284,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:300,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:305,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:315,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 317
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - parseIdentityToken
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseIdentityToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:322,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:338,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:343,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:353,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 355
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseAccessToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:360,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:365,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:381,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:386,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:396,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 398
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenSantizationCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:403,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:408,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:412,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:424,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:429,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:439,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 441
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenPastExpiryCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:446,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:451,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:455,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:467,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:472,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:482,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 484
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, Success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:496,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:514,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:518,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:519,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:522,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:526,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:536,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 538
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - std::move
    - ASSERT_FALSE
    - timer_cb_
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - enableTimer
    - setUp
    - parseAccessToken
    - ByMove
    - ASSERT_EQ
    - Return
    - ASSERT_TRUE
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - onSuccess
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - prepareRequest
    - Call
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:545,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:550,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:554,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:568,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:571,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:572,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:575,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:579,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:589,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 591
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - ASSERT_EQ
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - Call
    - timer_cb_
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccessWithAlwaysInit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:597,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:599,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:600,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:601,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:606,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:609,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:618,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:623,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:633,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 635
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryShortExpiryTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NiceMock<MockTokenInfo>>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:61,1
    - Dst: Envoy::Event::MockTimer::MockTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: espv2::envoy::token::test::TokenSubscriberTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Event::MockTimer::MockTimer
    - std::make_unique<NiceMock<MockTokenInfo>>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: add
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:67,1
    - Dst: createHandle
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:68,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:72,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:73,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:77,1
    - Dst: swap
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:81,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:88,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:95,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:97,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:99,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: initialize
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - token_type
    - error_behavior
    argTypes:
    - TokenType
    - DependencyErrorBehavior
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 109
    functionName: espv2::envoy::token::test::TokenSubscriberTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - swap
    - createHandle
    - initialize
    - ready
    - Invoke
    - EXPECT_CALL
    - std::move
    - Return
    - createTimer_
    - init
    - add
    - send_
    - std::make_unique<TokenSubscriber>
    - getThreadLocalCluster
    - std::chrono::seconds
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void setUp(TokenType token_type, DependencyErrorBehavior error_behavior)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:150,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:154,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - ByMove
    - EXPECT_CALL
    - ASSERT_EQ
    - prepareRequest
    - ASSERT_FALSE
    - Return
    - Call
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, HandleMissingPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:161,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:167,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - ASSERT_EQ
    - headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, VerifyRemoteRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:187,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:195,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:200,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:210,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200Response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:217,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:222,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:230,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:234,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:244,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 246
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200ResponseButInitAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:251,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:256,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:264,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:269,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:277,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 279
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessMissingStatusResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:284,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:300,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:305,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:315,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 317
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - parseIdentityToken
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseIdentityToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:322,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:338,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:343,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:353,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 355
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseAccessToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:360,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:365,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:381,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:386,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:396,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 398
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenSantizationCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:403,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:408,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:412,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:424,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:429,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:439,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 441
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenPastExpiryCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:446,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:451,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:455,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:467,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:472,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:482,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 484
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, Success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:496,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:514,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:518,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:519,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:522,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:526,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:536,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 538
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - std::move
    - ASSERT_FALSE
    - timer_cb_
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - enableTimer
    - setUp
    - parseAccessToken
    - ByMove
    - ASSERT_EQ
    - Return
    - ASSERT_TRUE
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - onSuccess
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - prepareRequest
    - Call
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:545,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:550,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:554,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:568,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:571,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:572,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:575,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:579,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:589,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 591
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - ASSERT_EQ
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - Call
    - timer_cb_
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccessWithAlwaysInit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:597,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:599,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:600,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:601,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:606,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:609,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:618,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:623,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:633,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 635
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryShortExpiryTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NiceMock<MockTokenInfo>>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:61,1
    - Dst: Envoy::Event::MockTimer::MockTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: espv2::envoy::token::test::TokenSubscriberTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Event::MockTimer::MockTimer
    - std::make_unique<NiceMock<MockTokenInfo>>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: add
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:67,1
    - Dst: createHandle
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:68,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:72,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:73,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:77,1
    - Dst: swap
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:81,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:88,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:95,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:97,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:99,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: initialize
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - token_type
    - error_behavior
    argTypes:
    - TokenType
    - DependencyErrorBehavior
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 109
    functionName: espv2::envoy::token::test::TokenSubscriberTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - swap
    - createHandle
    - initialize
    - ready
    - Invoke
    - EXPECT_CALL
    - std::move
    - Return
    - createTimer_
    - init
    - add
    - send_
    - std::make_unique<TokenSubscriber>
    - getThreadLocalCluster
    - std::chrono::seconds
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void setUp(TokenType token_type, DependencyErrorBehavior error_behavior)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:150,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:154,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - ByMove
    - EXPECT_CALL
    - ASSERT_EQ
    - prepareRequest
    - ASSERT_FALSE
    - Return
    - Call
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, HandleMissingPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:161,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:167,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - ASSERT_EQ
    - headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, VerifyRemoteRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:187,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:195,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:200,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:210,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200Response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:217,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:222,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:230,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:234,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:244,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 246
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200ResponseButInitAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:251,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:256,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:264,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:269,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:277,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 279
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessMissingStatusResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:284,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:300,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:305,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:315,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 317
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - parseIdentityToken
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseIdentityToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:322,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:338,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:343,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:353,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 355
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseAccessToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:360,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:365,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:381,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:386,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:396,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 398
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenSantizationCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:403,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:408,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:412,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:424,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:429,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:439,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 441
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenPastExpiryCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:446,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:451,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:455,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:467,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:472,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:482,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 484
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, Success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:496,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:514,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:518,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:519,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:522,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:526,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:536,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 538
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - std::move
    - ASSERT_FALSE
    - timer_cb_
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - enableTimer
    - setUp
    - parseAccessToken
    - ByMove
    - ASSERT_EQ
    - Return
    - ASSERT_TRUE
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - onSuccess
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - prepareRequest
    - Call
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:545,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:550,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:554,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:568,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:571,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:572,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:575,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:579,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:589,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 591
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - ASSERT_EQ
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - Call
    - timer_cb_
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccessWithAlwaysInit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:597,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:599,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:600,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:601,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:606,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:609,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:618,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:623,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:633,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 635
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryShortExpiryTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NiceMock<MockTokenInfo>>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:61,1
    - Dst: Envoy::Event::MockTimer::MockTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: espv2::envoy::token::test::TokenSubscriberTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Event::MockTimer::MockTimer
    - std::make_unique<NiceMock<MockTokenInfo>>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: add
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:67,1
    - Dst: createHandle
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:68,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:72,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:73,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:77,1
    - Dst: swap
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:81,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:88,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:95,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:97,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:99,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: initialize
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - token_type
    - error_behavior
    argTypes:
    - TokenType
    - DependencyErrorBehavior
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 109
    functionName: espv2::envoy::token::test::TokenSubscriberTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - swap
    - createHandle
    - initialize
    - ready
    - Invoke
    - EXPECT_CALL
    - std::move
    - Return
    - createTimer_
    - init
    - add
    - send_
    - std::make_unique<TokenSubscriber>
    - getThreadLocalCluster
    - std::chrono::seconds
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void setUp(TokenType token_type, DependencyErrorBehavior error_behavior)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:150,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:154,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - ByMove
    - EXPECT_CALL
    - ASSERT_EQ
    - prepareRequest
    - ASSERT_FALSE
    - Return
    - Call
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, HandleMissingPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:161,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:167,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - ASSERT_EQ
    - headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, VerifyRemoteRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:187,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:195,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:200,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:210,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200Response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:217,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:222,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:230,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:234,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:244,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 246
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200ResponseButInitAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:251,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:256,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:264,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:269,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:277,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 279
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessMissingStatusResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:284,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:300,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:305,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:315,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 317
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - parseIdentityToken
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseIdentityToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:322,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:338,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:343,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:353,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 355
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseAccessToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:360,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:365,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:381,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:386,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:396,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 398
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenSantizationCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:403,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:408,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:412,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:424,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:429,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:439,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 441
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenPastExpiryCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:446,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:451,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:455,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:467,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:472,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:482,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 484
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, Success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:496,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:514,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:518,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:519,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:522,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:526,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:536,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 538
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - std::move
    - ASSERT_FALSE
    - timer_cb_
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - enableTimer
    - setUp
    - parseAccessToken
    - ByMove
    - ASSERT_EQ
    - Return
    - ASSERT_TRUE
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - onSuccess
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - prepareRequest
    - Call
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:545,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:550,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:554,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:568,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:571,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:572,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:575,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:579,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:589,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 591
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - ASSERT_EQ
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - Call
    - timer_cb_
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccessWithAlwaysInit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:597,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:599,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:600,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:601,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:606,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:609,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:618,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:623,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:633,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 635
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryShortExpiryTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NiceMock<MockTokenInfo>>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:61,1
    - Dst: Envoy::Event::MockTimer::MockTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: espv2::envoy::token::test::TokenSubscriberTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Event::MockTimer::MockTimer
    - std::make_unique<NiceMock<MockTokenInfo>>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: add
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:67,1
    - Dst: createHandle
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:68,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:72,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:73,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:77,1
    - Dst: swap
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:81,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:88,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:95,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:97,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:99,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: initialize
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - token_type
    - error_behavior
    argTypes:
    - TokenType
    - DependencyErrorBehavior
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 109
    functionName: espv2::envoy::token::test::TokenSubscriberTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - swap
    - createHandle
    - initialize
    - ready
    - Invoke
    - EXPECT_CALL
    - std::move
    - Return
    - createTimer_
    - init
    - add
    - send_
    - std::make_unique<TokenSubscriber>
    - getThreadLocalCluster
    - std::chrono::seconds
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void setUp(TokenType token_type, DependencyErrorBehavior error_behavior)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:150,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:154,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - ByMove
    - EXPECT_CALL
    - ASSERT_EQ
    - prepareRequest
    - ASSERT_FALSE
    - Return
    - Call
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, HandleMissingPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:161,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:167,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - ASSERT_EQ
    - headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, VerifyRemoteRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:187,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:195,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:200,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:210,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200Response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:217,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:222,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:230,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:234,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:244,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 246
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200ResponseButInitAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:251,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:256,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:264,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:269,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:277,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 279
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessMissingStatusResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:284,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:300,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:305,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:315,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 317
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - parseIdentityToken
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseIdentityToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:322,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:338,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:343,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:353,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 355
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseAccessToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:360,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:365,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:381,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:386,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:396,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 398
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenSantizationCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:403,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:408,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:412,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:424,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:429,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:439,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 441
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenPastExpiryCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:446,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:451,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:455,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:467,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:472,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:482,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 484
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, Success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:496,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:514,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:518,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:519,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:522,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:526,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:536,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 538
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - std::move
    - ASSERT_FALSE
    - timer_cb_
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - enableTimer
    - setUp
    - parseAccessToken
    - ByMove
    - ASSERT_EQ
    - Return
    - ASSERT_TRUE
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - onSuccess
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - prepareRequest
    - Call
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:545,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:550,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:554,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:568,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:571,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:572,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:575,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:579,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:589,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 591
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - ASSERT_EQ
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - Call
    - timer_cb_
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccessWithAlwaysInit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:597,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:599,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:600,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:601,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:606,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:609,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:618,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:623,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:633,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 635
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryShortExpiryTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NiceMock<MockTokenInfo>>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:61,1
    - Dst: Envoy::Event::MockTimer::MockTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: espv2::envoy::token::test::TokenSubscriberTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Event::MockTimer::MockTimer
    - std::make_unique<NiceMock<MockTokenInfo>>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: add
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:67,1
    - Dst: createHandle
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:68,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:72,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:73,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:77,1
    - Dst: swap
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:81,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:88,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:95,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:97,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:99,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: initialize
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - token_type
    - error_behavior
    argTypes:
    - TokenType
    - DependencyErrorBehavior
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 109
    functionName: espv2::envoy::token::test::TokenSubscriberTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - swap
    - createHandle
    - initialize
    - ready
    - Invoke
    - EXPECT_CALL
    - std::move
    - Return
    - createTimer_
    - init
    - add
    - send_
    - std::make_unique<TokenSubscriber>
    - getThreadLocalCluster
    - std::chrono::seconds
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void setUp(TokenType token_type, DependencyErrorBehavior error_behavior)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:150,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:154,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - ByMove
    - EXPECT_CALL
    - ASSERT_EQ
    - prepareRequest
    - ASSERT_FALSE
    - Return
    - Call
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, HandleMissingPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:161,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:167,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - ASSERT_EQ
    - headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, VerifyRemoteRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:187,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:195,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:200,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:210,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200Response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:217,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:222,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:230,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:234,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:244,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 246
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200ResponseButInitAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:251,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:256,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:264,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:269,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:277,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 279
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessMissingStatusResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:284,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:300,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:305,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:315,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 317
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - parseIdentityToken
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseIdentityToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:322,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:338,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:343,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:353,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 355
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseAccessToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:360,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:365,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:381,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:386,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:396,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 398
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenSantizationCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:403,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:408,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:412,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:424,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:429,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:439,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 441
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenPastExpiryCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:446,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:451,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:455,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:467,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:472,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:482,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 484
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, Success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:496,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:514,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:518,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:519,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:522,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:526,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:536,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 538
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - std::move
    - ASSERT_FALSE
    - timer_cb_
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - enableTimer
    - setUp
    - parseAccessToken
    - ByMove
    - ASSERT_EQ
    - Return
    - ASSERT_TRUE
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - onSuccess
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - prepareRequest
    - Call
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:545,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:550,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:554,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:568,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:571,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:572,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:575,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:579,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:589,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 591
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - ASSERT_EQ
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - Call
    - timer_cb_
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccessWithAlwaysInit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:597,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:599,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:600,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:601,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:606,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:609,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:618,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:623,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:633,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 635
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryShortExpiryTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NiceMock<MockTokenInfo>>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:61,1
    - Dst: Envoy::Event::MockTimer::MockTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: espv2::envoy::token::test::TokenSubscriberTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Event::MockTimer::MockTimer
    - std::make_unique<NiceMock<MockTokenInfo>>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: add
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:67,1
    - Dst: createHandle
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:68,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:72,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:73,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:77,1
    - Dst: swap
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:81,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:88,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:95,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:97,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:99,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: initialize
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - token_type
    - error_behavior
    argTypes:
    - TokenType
    - DependencyErrorBehavior
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 109
    functionName: espv2::envoy::token::test::TokenSubscriberTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - swap
    - createHandle
    - initialize
    - ready
    - Invoke
    - EXPECT_CALL
    - std::move
    - Return
    - createTimer_
    - init
    - add
    - send_
    - std::make_unique<TokenSubscriber>
    - getThreadLocalCluster
    - std::chrono::seconds
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void setUp(TokenType token_type, DependencyErrorBehavior error_behavior)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:150,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:154,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - ByMove
    - EXPECT_CALL
    - ASSERT_EQ
    - prepareRequest
    - ASSERT_FALSE
    - Return
    - Call
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, HandleMissingPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:161,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:167,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - ASSERT_EQ
    - headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, VerifyRemoteRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:187,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:195,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:200,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:210,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200Response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:217,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:222,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:230,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:234,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:244,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 246
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200ResponseButInitAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:251,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:256,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:264,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:269,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:277,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 279
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessMissingStatusResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:284,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:300,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:305,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:315,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 317
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - parseIdentityToken
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseIdentityToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:322,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:338,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:343,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:353,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 355
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseAccessToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:360,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:365,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:381,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:386,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:396,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 398
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenSantizationCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:403,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:408,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:412,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:424,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:429,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:439,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 441
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenPastExpiryCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:446,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:451,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:455,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:467,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:472,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:482,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 484
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, Success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:496,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:514,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:518,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:519,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:522,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:526,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:536,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 538
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - std::move
    - ASSERT_FALSE
    - timer_cb_
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - enableTimer
    - setUp
    - parseAccessToken
    - ByMove
    - ASSERT_EQ
    - Return
    - ASSERT_TRUE
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - onSuccess
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - prepareRequest
    - Call
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:545,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:550,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:554,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:568,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:571,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:572,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:575,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:579,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:589,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 591
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - ASSERT_EQ
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - Call
    - timer_cb_
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccessWithAlwaysInit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:597,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:599,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:600,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:601,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:606,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:609,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:618,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:623,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:633,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 635
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryShortExpiryTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<NiceMock<MockTokenInfo>>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:61,1
    - Dst: Envoy::Event::MockTimer::MockTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: espv2::envoy::token::test::TokenSubscriberTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - Envoy::Event::MockTimer::MockTimer
    - std::make_unique<NiceMock<MockTokenInfo>>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: add
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:66,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:67,1
    - Dst: createHandle
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:68,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:72,1
    - Dst: getThreadLocalCluster
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:73,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:74,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: send_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:75,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:77,1
    - Dst: swap
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:81,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: createTimer_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:87,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:88,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:95,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:97,1
    - Dst: AsStdFunction
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:98,1
    - Dst: init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:99,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:103,1
    - Dst: initialize
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 2
    argNames:
    - token_type
    - error_behavior
    argTypes:
    - TokenType
    - DependencyErrorBehavior
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 109
    functionName: espv2::envoy::token::test::TokenSubscriberTest::setUp
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - swap
    - createHandle
    - initialize
    - ready
    - Invoke
    - EXPECT_CALL
    - std::move
    - Return
    - createTimer_
    - init
    - add
    - send_
    - std::make_unique<TokenSubscriber>
    - getThreadLocalCluster
    - std::chrono::seconds
    - AsStdFunction
    linkageType: ''
    returnType: void
    signature: void setUp(TokenType token_type, DependencyErrorBehavior error_behavior)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:140,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:142,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:145,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:147,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:150,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:154,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 156
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - ByMove
    - EXPECT_CALL
    - ASSERT_EQ
    - prepareRequest
    - ASSERT_FALSE
    - Return
    - Call
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, HandleMissingPreconditions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:161,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:163,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:166,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:167,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:170,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:174,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:175,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - EXPECT_EQ
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - ASSERT_EQ
    - headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, VerifyRemoteRequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:182,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:183,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:186,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:187,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:190,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:192,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:195,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:200,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:204,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:207,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:210,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 212
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200Response)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:217,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:218,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:221,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:222,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:225,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:227,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:230,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:234,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:238,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:241,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:244,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 246
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessNon200ResponseButInitAllowed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:251,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:252,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:255,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:256,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:259,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:261,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:264,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:269,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:271,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:274,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:277,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 279
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, ProcessMissingStatusResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:284,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:285,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:288,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:289,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:292,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:295,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:297,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:300,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:305,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:309,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:312,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:315,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 317
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - parseIdentityToken
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseIdentityToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:322,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:323,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:326,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:327,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:330,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:333,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:335,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:338,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:343,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:347,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:350,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:353,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 355
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, BadParseAccessToken)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:360,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:361,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:364,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:365,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:368,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:369,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:376,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:378,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:381,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:386,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:390,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:393,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:396,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 398
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenSantizationCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:403,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:404,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:407,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:408,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:411,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:412,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:414,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:419,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:421,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:424,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:429,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:433,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:436,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:439,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 441
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - ASSERT_FALSE
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, TokenPastExpiryCheckFails)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:446,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:447,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:450,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:451,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:454,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:455,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:462,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:464,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:467,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:472,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:476,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:482,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 484
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, Success)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:491,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:492,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:493,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:495,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:496,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:499,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:500,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:507,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:509,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:511,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:514,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:518,1
    - Dst: ASSERT_FALSE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:519,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:522,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:526,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:530,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:533,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:536,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 538
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_CALL
    - std::move
    - ASSERT_FALSE
    - timer_cb_
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - enableTimer
    - setUp
    - parseAccessToken
    - ByMove
    - ASSERT_EQ
    - Return
    - ASSERT_TRUE
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - onSuccess
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - prepareRequest
    - Call
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:545,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:546,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:547,1
    - Dst: Return
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: ByMove
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:549,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:550,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:553,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:554,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:561,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:563,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:565,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:568,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:571,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:572,1
    - Dst: timer_cb_
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:575,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:579,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:583,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:586,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:589,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 591
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - ByMove
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Return
    - Invoke
    - ASSERT_EQ
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - Call
    - timer_cb_
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryMissingPreconditionThenSuccessWithAlwaysInit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:595,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:597,1
    - Dst: Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:599,1
    - Dst: std::make_unique<Envoy::Http::RequestMessageImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:600,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:601,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:605,1
    - Dst: Invoke
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:606,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:609,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:614,1
    - Dst: EXPECT_CALL
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: Call
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:615,1
    - Dst: setUp
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:618,1
    - Dst: Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:623,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:627,1
    - Dst: onSuccess
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:630,1
    - Dst: ASSERT_EQ
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:633,1
    - Dst: ASSERT_TRUE
      Src: /src/esp-v2/src/envoy/token/token_subscriber_test.cc:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 635
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
    functionUses: 0
    functionsReached:
    - setUp
    - onSuccess
    - parseAccessToken
    - ASSERT_TRUE
    - Invoke
    - Envoy::Http::TestRequestHeaderMapImpl::TestRequestHeaderMapImpl
    - EXPECT_CALL
    - std::make_unique<Envoy::Http::RequestMessageImpl>
    - prepareRequest
    - std::move
    - Envoy::Http::TestResponseHeaderMapImpl::TestResponseHeaderMapImpl
    - ASSERT_EQ
    - Call
    - enableTimer
    - Envoy::Http::ResponseMessageImpl::ResponseMessageImpl
    - std::chrono::seconds
    linkageType: ''
    returnType: void
    signature: void TEST_F(TokenSubscriberTest, RetryShortExpiryTime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ImdsTokenInfo>
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ImdsTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:39,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:58,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:59,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:62,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:74,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:85,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenInvalidExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:98,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessPostiveExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:112,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessNegativeExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ImdsTokenInfo>
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ImdsTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:39,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:58,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:59,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:62,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:74,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:85,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenInvalidExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:98,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessPostiveExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:112,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessNegativeExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ImdsTokenInfo>
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ImdsTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:39,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:58,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:59,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:62,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:74,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:85,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenInvalidExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:98,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessPostiveExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:112,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessNegativeExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ImdsTokenInfo>
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ImdsTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:39,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:58,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:59,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:62,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:74,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:85,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenInvalidExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:98,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessPostiveExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:112,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessNegativeExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ImdsTokenInfo>
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ImdsTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:39,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:58,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:59,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:62,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:74,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:85,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenInvalidExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:98,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessPostiveExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:112,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessNegativeExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ImdsTokenInfo>
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ImdsTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:39,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:58,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:59,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:62,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:74,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:85,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenInvalidExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:98,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessPostiveExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:112,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessNegativeExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ImdsTokenInfo>
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ImdsTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:39,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:58,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:59,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:62,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:74,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:85,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenInvalidExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:98,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessPostiveExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:112,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessNegativeExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ImdsTokenInfo>
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ImdsTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:39,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:58,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:59,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:62,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:74,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:85,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenInvalidExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:98,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessPostiveExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:112,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessNegativeExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ImdsTokenInfo>
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ImdsTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:39,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:58,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:59,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:62,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:74,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:85,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenInvalidExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:98,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessPostiveExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:112,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessNegativeExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ImdsTokenInfo>
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ImdsTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:39,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:58,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:59,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:62,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:74,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:85,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenInvalidExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:98,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessPostiveExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:112,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessNegativeExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ImdsTokenInfo>
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ImdsTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:39,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:58,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:59,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:62,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:74,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:85,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenInvalidExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:98,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessPostiveExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:112,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessNegativeExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ImdsTokenInfo>
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ImdsTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:39,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:58,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:59,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:62,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:74,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:85,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenInvalidExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:98,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessPostiveExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:112,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessNegativeExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ImdsTokenInfo>
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ImdsTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:39,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:58,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:59,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:62,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:74,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:85,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenInvalidExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:98,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessPostiveExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:112,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessNegativeExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ImdsTokenInfo>
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ImdsTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:39,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:58,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:59,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:62,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:74,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:85,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenInvalidExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:98,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessPostiveExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:112,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessNegativeExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ImdsTokenInfo>
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ImdsTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:39,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:58,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:59,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:62,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:74,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:85,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenInvalidExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:98,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessPostiveExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:112,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessNegativeExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ImdsTokenInfo>
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - std::make_unique<ImdsTokenInfo>
    linkageType: ''
    returnType: void
    signature: void SetUp() override
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:39,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:42,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: Envoy::Http::RequestMessagePtr::bodyAsString
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:43,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:44,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:45,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:46,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: Envoy::Http::RequestMessagePtr::headers
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    - Dst: value
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 50
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - value
    - prepareRequest
    - Envoy::Http::RequestMessagePtr::bodyAsString
    - Envoy::Http::RequestMessagePtr::headers
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, SimpleSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:58,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:59,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:62,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:63,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:64,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 66
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - parseIdentityToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, IdentityTokenSuccess)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:74,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, InvalidJsonResponse)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:85,1
    - Dst: EXPECT_FALSE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 87
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_FALSE
    - parseAccessToken
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenInvalidExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:96,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:97,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:98,1
    - Dst: EXPECT_GT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:99,1
    - Dst: EXPECT_NE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 101
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_GT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessPostiveExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:110,1
    - Dst: EXPECT_TRUE
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:111,1
    - Dst: EXPECT_EQ
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:112,1
    - Dst: EXPECT_LT
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/imds_token_info_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: espv2::envoy::token::test::TEST_F
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - parseAccessToken
    - EXPECT_TRUE
    - TokenResult::expiry_duration::count
    - EXPECT_LT
    linkageType: ''
    returnType: void
    signature: void TEST_F(ImdsTokenInfoTest, AccessTokenSuccessNegativeExpiry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: espv2::envoy::token::TokenSubscriberFactoryImpl::TokenSubscriberFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriberFactoryImpl(\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ImdsTokenInfo>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:39,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:40,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:42,1
    - Dst: TokenSubscriberPtr::init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - ' token_type'
    - ' token_cluster'
    - ' token_url'
    - fetch_timeout
    - error_behavior
    - callback
    argTypes:
    - TokenType
    - std::string
    - std::string
    - std::chrono::seconds
    - ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior
    - UpdateTokenCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: espv2::envoy::token::TokenSubscriberFactoryImpl::createImdsTokenSubscriber
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<ImdsTokenInfo>
    - std::make_unique<TokenSubscriber>
    - TokenSubscriberPtr::init
    linkageType: ''
    returnType: TokenSubscriberPtr
    signature: "TokenSubscriberPtr createImdsTokenSubscriber(\n      const TokenType&
      token_type, const std::string& token_cluster,\n      const std::string& token_url,
      std::chrono::seconds fetch_timeout,\n      ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior\n
      \         error_behavior,\n      UpdateTokenCallback callback) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:56,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:58,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:60,1
    - Dst: TokenSubscriberPtr::init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ' token_type'
    - ' token_cluster'
    - ' token_url'
    - fetch_timeout
    - error_behavior
    - callback
    - ' delegates'
    - ' scopes'
    - access_token_fn
    argTypes:
    - TokenType
    - std::string
    - std::string
    - std::chrono::seconds
    - ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior
    - UpdateTokenCallback
    - ::google::protobuf::RepeatedPtrField<std::string>
    - ::google::protobuf::RepeatedPtrField<std::string>
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: espv2::envoy::token::TokenSubscriberFactoryImpl::createIamTokenSubscriber
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<IamTokenInfo>
    - std::make_unique<TokenSubscriber>
    - TokenSubscriberPtr::init
    linkageType: ''
    returnType: TokenSubscriberPtr
    signature: "TokenSubscriberPtr createIamTokenSubscriber(\n      const TokenType&
      token_type, const std::string& token_cluster,\n      const std::string& token_url,
      std::chrono::seconds fetch_timeout,\n      ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior\n
      \         error_behavior,\n      UpdateTokenCallback callback,\n      const
      ::google::protobuf::RepeatedPtrField<std::string>& delegates,\n      const ::google::protobuf::RepeatedPtrField<std::string>&
      scopes,\n      GetTokenFunc access_token_fn) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: espv2::envoy::token::TokenSubscriberFactoryImpl::TokenSubscriberFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriberFactoryImpl(\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ImdsTokenInfo>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:39,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:40,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:42,1
    - Dst: TokenSubscriberPtr::init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - ' token_type'
    - ' token_cluster'
    - ' token_url'
    - fetch_timeout
    - error_behavior
    - callback
    argTypes:
    - TokenType
    - std::string
    - std::string
    - std::chrono::seconds
    - ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior
    - UpdateTokenCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: espv2::envoy::token::TokenSubscriberFactoryImpl::createImdsTokenSubscriber
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<ImdsTokenInfo>
    - std::make_unique<TokenSubscriber>
    - TokenSubscriberPtr::init
    linkageType: ''
    returnType: TokenSubscriberPtr
    signature: "TokenSubscriberPtr createImdsTokenSubscriber(\n      const TokenType&
      token_type, const std::string& token_cluster,\n      const std::string& token_url,
      std::chrono::seconds fetch_timeout,\n      ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior\n
      \         error_behavior,\n      UpdateTokenCallback callback) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:56,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:58,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:60,1
    - Dst: TokenSubscriberPtr::init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ' token_type'
    - ' token_cluster'
    - ' token_url'
    - fetch_timeout
    - error_behavior
    - callback
    - ' delegates'
    - ' scopes'
    - access_token_fn
    argTypes:
    - TokenType
    - std::string
    - std::string
    - std::chrono::seconds
    - ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior
    - UpdateTokenCallback
    - ::google::protobuf::RepeatedPtrField<std::string>
    - ::google::protobuf::RepeatedPtrField<std::string>
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: espv2::envoy::token::TokenSubscriberFactoryImpl::createIamTokenSubscriber
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<IamTokenInfo>
    - std::make_unique<TokenSubscriber>
    - TokenSubscriberPtr::init
    linkageType: ''
    returnType: TokenSubscriberPtr
    signature: "TokenSubscriberPtr createIamTokenSubscriber(\n      const TokenType&
      token_type, const std::string& token_cluster,\n      const std::string& token_url,
      std::chrono::seconds fetch_timeout,\n      ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior\n
      \         error_behavior,\n      UpdateTokenCallback callback,\n      const
      ::google::protobuf::RepeatedPtrField<std::string>& delegates,\n      const ::google::protobuf::RepeatedPtrField<std::string>&
      scopes,\n      GetTokenFunc access_token_fn) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: espv2::envoy::token::TokenSubscriberFactoryImpl::TokenSubscriberFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriberFactoryImpl(\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ImdsTokenInfo>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:39,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:40,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:42,1
    - Dst: TokenSubscriberPtr::init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - ' token_type'
    - ' token_cluster'
    - ' token_url'
    - fetch_timeout
    - error_behavior
    - callback
    argTypes:
    - TokenType
    - std::string
    - std::string
    - std::chrono::seconds
    - ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior
    - UpdateTokenCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: espv2::envoy::token::TokenSubscriberFactoryImpl::createImdsTokenSubscriber
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<ImdsTokenInfo>
    - std::make_unique<TokenSubscriber>
    - TokenSubscriberPtr::init
    linkageType: ''
    returnType: TokenSubscriberPtr
    signature: "TokenSubscriberPtr createImdsTokenSubscriber(\n      const TokenType&
      token_type, const std::string& token_cluster,\n      const std::string& token_url,
      std::chrono::seconds fetch_timeout,\n      ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior\n
      \         error_behavior,\n      UpdateTokenCallback callback) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:56,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:58,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:60,1
    - Dst: TokenSubscriberPtr::init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ' token_type'
    - ' token_cluster'
    - ' token_url'
    - fetch_timeout
    - error_behavior
    - callback
    - ' delegates'
    - ' scopes'
    - access_token_fn
    argTypes:
    - TokenType
    - std::string
    - std::string
    - std::chrono::seconds
    - ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior
    - UpdateTokenCallback
    - ::google::protobuf::RepeatedPtrField<std::string>
    - ::google::protobuf::RepeatedPtrField<std::string>
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: espv2::envoy::token::TokenSubscriberFactoryImpl::createIamTokenSubscriber
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<IamTokenInfo>
    - std::make_unique<TokenSubscriber>
    - TokenSubscriberPtr::init
    linkageType: ''
    returnType: TokenSubscriberPtr
    signature: "TokenSubscriberPtr createIamTokenSubscriber(\n      const TokenType&
      token_type, const std::string& token_cluster,\n      const std::string& token_url,
      std::chrono::seconds fetch_timeout,\n      ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior\n
      \         error_behavior,\n      UpdateTokenCallback callback,\n      const
      ::google::protobuf::RepeatedPtrField<std::string>& delegates,\n      const ::google::protobuf::RepeatedPtrField<std::string>&
      scopes,\n      GetTokenFunc access_token_fn) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: espv2::envoy::token::TokenSubscriberFactoryImpl::TokenSubscriberFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriberFactoryImpl(\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ImdsTokenInfo>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:39,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:40,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:42,1
    - Dst: TokenSubscriberPtr::init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - ' token_type'
    - ' token_cluster'
    - ' token_url'
    - fetch_timeout
    - error_behavior
    - callback
    argTypes:
    - TokenType
    - std::string
    - std::string
    - std::chrono::seconds
    - ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior
    - UpdateTokenCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: espv2::envoy::token::TokenSubscriberFactoryImpl::createImdsTokenSubscriber
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<ImdsTokenInfo>
    - std::make_unique<TokenSubscriber>
    - TokenSubscriberPtr::init
    linkageType: ''
    returnType: TokenSubscriberPtr
    signature: "TokenSubscriberPtr createImdsTokenSubscriber(\n      const TokenType&
      token_type, const std::string& token_cluster,\n      const std::string& token_url,
      std::chrono::seconds fetch_timeout,\n      ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior\n
      \         error_behavior,\n      UpdateTokenCallback callback) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:56,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:58,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:60,1
    - Dst: TokenSubscriberPtr::init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ' token_type'
    - ' token_cluster'
    - ' token_url'
    - fetch_timeout
    - error_behavior
    - callback
    - ' delegates'
    - ' scopes'
    - access_token_fn
    argTypes:
    - TokenType
    - std::string
    - std::string
    - std::chrono::seconds
    - ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior
    - UpdateTokenCallback
    - ::google::protobuf::RepeatedPtrField<std::string>
    - ::google::protobuf::RepeatedPtrField<std::string>
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: espv2::envoy::token::TokenSubscriberFactoryImpl::createIamTokenSubscriber
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<IamTokenInfo>
    - std::make_unique<TokenSubscriber>
    - TokenSubscriberPtr::init
    linkageType: ''
    returnType: TokenSubscriberPtr
    signature: "TokenSubscriberPtr createIamTokenSubscriber(\n      const TokenType&
      token_type, const std::string& token_cluster,\n      const std::string& token_url,
      std::chrono::seconds fetch_timeout,\n      ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior\n
      \         error_behavior,\n      UpdateTokenCallback callback,\n      const
      ::google::protobuf::RepeatedPtrField<std::string>& delegates,\n      const ::google::protobuf::RepeatedPtrField<std::string>&
      scopes,\n      GetTokenFunc access_token_fn) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: espv2::envoy::token::TokenSubscriberFactoryImpl::TokenSubscriberFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriberFactoryImpl(\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ImdsTokenInfo>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:39,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:40,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:42,1
    - Dst: TokenSubscriberPtr::init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - ' token_type'
    - ' token_cluster'
    - ' token_url'
    - fetch_timeout
    - error_behavior
    - callback
    argTypes:
    - TokenType
    - std::string
    - std::string
    - std::chrono::seconds
    - ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior
    - UpdateTokenCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: espv2::envoy::token::TokenSubscriberFactoryImpl::createImdsTokenSubscriber
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<ImdsTokenInfo>
    - std::make_unique<TokenSubscriber>
    - TokenSubscriberPtr::init
    linkageType: ''
    returnType: TokenSubscriberPtr
    signature: "TokenSubscriberPtr createImdsTokenSubscriber(\n      const TokenType&
      token_type, const std::string& token_cluster,\n      const std::string& token_url,
      std::chrono::seconds fetch_timeout,\n      ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior\n
      \         error_behavior,\n      UpdateTokenCallback callback) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:56,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:58,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:60,1
    - Dst: TokenSubscriberPtr::init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ' token_type'
    - ' token_cluster'
    - ' token_url'
    - fetch_timeout
    - error_behavior
    - callback
    - ' delegates'
    - ' scopes'
    - access_token_fn
    argTypes:
    - TokenType
    - std::string
    - std::string
    - std::chrono::seconds
    - ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior
    - UpdateTokenCallback
    - ::google::protobuf::RepeatedPtrField<std::string>
    - ::google::protobuf::RepeatedPtrField<std::string>
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: espv2::envoy::token::TokenSubscriberFactoryImpl::createIamTokenSubscriber
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<IamTokenInfo>
    - std::make_unique<TokenSubscriber>
    - TokenSubscriberPtr::init
    linkageType: ''
    returnType: TokenSubscriberPtr
    signature: "TokenSubscriberPtr createIamTokenSubscriber(\n      const TokenType&
      token_type, const std::string& token_cluster,\n      const std::string& token_url,
      std::chrono::seconds fetch_timeout,\n      ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior\n
      \         error_behavior,\n      UpdateTokenCallback callback,\n      const
      ::google::protobuf::RepeatedPtrField<std::string>& delegates,\n      const ::google::protobuf::RepeatedPtrField<std::string>&
      scopes,\n      GetTokenFunc access_token_fn) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: espv2::envoy::token::TokenSubscriberFactoryImpl::TokenSubscriberFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriberFactoryImpl(\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ImdsTokenInfo>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:39,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:40,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:42,1
    - Dst: TokenSubscriberPtr::init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - ' token_type'
    - ' token_cluster'
    - ' token_url'
    - fetch_timeout
    - error_behavior
    - callback
    argTypes:
    - TokenType
    - std::string
    - std::string
    - std::chrono::seconds
    - ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior
    - UpdateTokenCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: espv2::envoy::token::TokenSubscriberFactoryImpl::createImdsTokenSubscriber
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<ImdsTokenInfo>
    - std::make_unique<TokenSubscriber>
    - TokenSubscriberPtr::init
    linkageType: ''
    returnType: TokenSubscriberPtr
    signature: "TokenSubscriberPtr createImdsTokenSubscriber(\n      const TokenType&
      token_type, const std::string& token_cluster,\n      const std::string& token_url,
      std::chrono::seconds fetch_timeout,\n      ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior\n
      \         error_behavior,\n      UpdateTokenCallback callback) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:56,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:58,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:60,1
    - Dst: TokenSubscriberPtr::init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ' token_type'
    - ' token_cluster'
    - ' token_url'
    - fetch_timeout
    - error_behavior
    - callback
    - ' delegates'
    - ' scopes'
    - access_token_fn
    argTypes:
    - TokenType
    - std::string
    - std::string
    - std::chrono::seconds
    - ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior
    - UpdateTokenCallback
    - ::google::protobuf::RepeatedPtrField<std::string>
    - ::google::protobuf::RepeatedPtrField<std::string>
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: espv2::envoy::token::TokenSubscriberFactoryImpl::createIamTokenSubscriber
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<IamTokenInfo>
    - std::make_unique<TokenSubscriber>
    - TokenSubscriberPtr::init
    linkageType: ''
    returnType: TokenSubscriberPtr
    signature: "TokenSubscriberPtr createIamTokenSubscriber(\n      const TokenType&
      token_type, const std::string& token_cluster,\n      const std::string& token_url,
      std::chrono::seconds fetch_timeout,\n      ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior\n
      \         error_behavior,\n      UpdateTokenCallback callback,\n      const
      ::google::protobuf::RepeatedPtrField<std::string>& delegates,\n      const ::google::protobuf::RepeatedPtrField<std::string>&
      scopes,\n      GetTokenFunc access_token_fn) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: espv2::envoy::token::TokenSubscriberFactoryImpl::TokenSubscriberFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriberFactoryImpl(\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ImdsTokenInfo>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:39,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:40,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:42,1
    - Dst: TokenSubscriberPtr::init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - ' token_type'
    - ' token_cluster'
    - ' token_url'
    - fetch_timeout
    - error_behavior
    - callback
    argTypes:
    - TokenType
    - std::string
    - std::string
    - std::chrono::seconds
    - ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior
    - UpdateTokenCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: espv2::envoy::token::TokenSubscriberFactoryImpl::createImdsTokenSubscriber
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<ImdsTokenInfo>
    - std::make_unique<TokenSubscriber>
    - TokenSubscriberPtr::init
    linkageType: ''
    returnType: TokenSubscriberPtr
    signature: "TokenSubscriberPtr createImdsTokenSubscriber(\n      const TokenType&
      token_type, const std::string& token_cluster,\n      const std::string& token_url,
      std::chrono::seconds fetch_timeout,\n      ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior\n
      \         error_behavior,\n      UpdateTokenCallback callback) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:56,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:58,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:60,1
    - Dst: TokenSubscriberPtr::init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ' token_type'
    - ' token_cluster'
    - ' token_url'
    - fetch_timeout
    - error_behavior
    - callback
    - ' delegates'
    - ' scopes'
    - access_token_fn
    argTypes:
    - TokenType
    - std::string
    - std::string
    - std::chrono::seconds
    - ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior
    - UpdateTokenCallback
    - ::google::protobuf::RepeatedPtrField<std::string>
    - ::google::protobuf::RepeatedPtrField<std::string>
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: espv2::envoy::token::TokenSubscriberFactoryImpl::createIamTokenSubscriber
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<IamTokenInfo>
    - std::make_unique<TokenSubscriber>
    - TokenSubscriberPtr::init
    linkageType: ''
    returnType: TokenSubscriberPtr
    signature: "TokenSubscriberPtr createIamTokenSubscriber(\n      const TokenType&
      token_type, const std::string& token_cluster,\n      const std::string& token_url,
      std::chrono::seconds fetch_timeout,\n      ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior\n
      \         error_behavior,\n      UpdateTokenCallback callback,\n      const
      ::google::protobuf::RepeatedPtrField<std::string>& delegates,\n      const ::google::protobuf::RepeatedPtrField<std::string>&
      scopes,\n      GetTokenFunc access_token_fn) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' context'
    argTypes:
    - Envoy::Server::Configuration::FactoryContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: espv2::envoy::token::TokenSubscriberFactoryImpl::TokenSubscriberFactoryImpl
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriberFactoryImpl(\n      Envoy::Server::Configuration::FactoryContext&
      context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<ImdsTokenInfo>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:39,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:40,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:42,1
    - Dst: TokenSubscriberPtr::init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - ' token_type'
    - ' token_cluster'
    - ' token_url'
    - fetch_timeout
    - error_behavior
    - callback
    argTypes:
    - TokenType
    - std::string
    - std::string
    - std::chrono::seconds
    - ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior
    - UpdateTokenCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: espv2::envoy::token::TokenSubscriberFactoryImpl::createImdsTokenSubscriber
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<ImdsTokenInfo>
    - std::make_unique<TokenSubscriber>
    - TokenSubscriberPtr::init
    linkageType: ''
    returnType: TokenSubscriberPtr
    signature: "TokenSubscriberPtr createImdsTokenSubscriber(\n      const TokenType&
      token_type, const std::string& token_cluster,\n      const std::string& token_url,
      std::chrono::seconds fetch_timeout,\n      ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior\n
      \         error_behavior,\n      UpdateTokenCallback callback) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<IamTokenInfo>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:56,1
    - Dst: std::make_unique<TokenSubscriber>
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:58,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:60,1
    - Dst: TokenSubscriberPtr::init
      Src: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - ' token_type'
    - ' token_cluster'
    - ' token_url'
    - fetch_timeout
    - error_behavior
    - callback
    - ' delegates'
    - ' scopes'
    - access_token_fn
    argTypes:
    - TokenType
    - std::string
    - std::string
    - std::chrono::seconds
    - ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior
    - UpdateTokenCallback
    - ::google::protobuf::RepeatedPtrField<std::string>
    - ::google::protobuf::RepeatedPtrField<std::string>
    - GetTokenFunc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: espv2::envoy::token::TokenSubscriberFactoryImpl::createIamTokenSubscriber
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h
    functionUses: 0
    functionsReached:
    - std::move
    - std::make_unique<IamTokenInfo>
    - std::make_unique<TokenSubscriber>
    - TokenSubscriberPtr::init
    linkageType: ''
    returnType: TokenSubscriberPtr
    signature: "TokenSubscriberPtr createIamTokenSubscriber(\n      const TokenType&
      token_type, const std::string& token_cluster,\n      const std::string& token_url,
      std::chrono::seconds fetch_timeout,\n      ::espv2::api::envoy::v12::http::common::DependencyErrorBehavior\n
      \         error_behavior,\n      UpdateTokenCallback callback,\n      const
      ::google::protobuf::RepeatedPtrField<std::string>& delegates,\n      const ::google::protobuf::RepeatedPtrField<std::string>&
      scopes,\n      GetTokenFunc access_token_fn) const override"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::token::ImdsTokenInfo::ImdsTokenInfo
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ImdsTokenInfo::ImdsTokenInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:41,1
    - Dst: Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:44,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:45,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:46,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:46,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:47,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:47,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:51,1
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - token_url
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: espv2::envoy::token::ImdsTokenInfo::prepareRequest
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached:
    - std::move
    - Envoy::Http::Utility::extractHostPathFromUri
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
    - Envoy::Http::Headers::get
    - std::string
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: "Envoy::Http::RequestMessagePtr ImdsTokenInfo::prepareRequest(\n    absl::string_view
      token_url) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:65,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:66,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:67,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:68,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:68,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:75,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:77,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:78,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:84,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:85,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:86,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:87,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 95
    functionName: espv2::envoy::token::ImdsTokenInfo::parseAccessToken
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - JsonStruct::getString
    - ENVOY_LOG
    - ::google::protobuf::util::JsonStringToMessage
    - std::chrono::seconds
    - absl::Status::ToString
    - std::string
    - JsonStruct::getInteger
    linkageType: ''
    returnType: bool
    signature: "bool ImdsTokenInfo::parseAccessToken(absl::string_view response,\n
      \                                    TokenResult* ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: espv2::envoy::token::ImdsTokenInfo::parseIdentityToken
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool ImdsTokenInfo::parseIdentityToken(absl::string_view response,\n
      \                                      TokenResult* ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::token::ImdsTokenInfo::ImdsTokenInfo
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ImdsTokenInfo::ImdsTokenInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:41,1
    - Dst: Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:44,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:45,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:46,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:46,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:47,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:47,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:51,1
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - token_url
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: espv2::envoy::token::ImdsTokenInfo::prepareRequest
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached:
    - std::move
    - Envoy::Http::Utility::extractHostPathFromUri
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
    - Envoy::Http::Headers::get
    - std::string
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: "Envoy::Http::RequestMessagePtr ImdsTokenInfo::prepareRequest(\n    absl::string_view
      token_url) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:65,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:66,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:67,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:68,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:68,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:75,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:77,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:78,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:84,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:85,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:86,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:87,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 95
    functionName: espv2::envoy::token::ImdsTokenInfo::parseAccessToken
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - JsonStruct::getString
    - ENVOY_LOG
    - ::google::protobuf::util::JsonStringToMessage
    - std::chrono::seconds
    - absl::Status::ToString
    - std::string
    - JsonStruct::getInteger
    linkageType: ''
    returnType: bool
    signature: "bool ImdsTokenInfo::parseAccessToken(absl::string_view response,\n
      \                                    TokenResult* ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: espv2::envoy::token::ImdsTokenInfo::parseIdentityToken
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool ImdsTokenInfo::parseIdentityToken(absl::string_view response,\n
      \                                      TokenResult* ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::token::ImdsTokenInfo::ImdsTokenInfo
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ImdsTokenInfo::ImdsTokenInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:41,1
    - Dst: Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:44,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:45,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:46,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:46,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:47,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:47,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:51,1
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - token_url
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: espv2::envoy::token::ImdsTokenInfo::prepareRequest
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached:
    - std::move
    - Envoy::Http::Utility::extractHostPathFromUri
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
    - Envoy::Http::Headers::get
    - std::string
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: "Envoy::Http::RequestMessagePtr ImdsTokenInfo::prepareRequest(\n    absl::string_view
      token_url) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:65,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:66,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:67,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:68,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:68,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:75,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:77,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:78,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:84,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:85,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:86,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:87,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 95
    functionName: espv2::envoy::token::ImdsTokenInfo::parseAccessToken
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - JsonStruct::getString
    - ENVOY_LOG
    - ::google::protobuf::util::JsonStringToMessage
    - std::chrono::seconds
    - absl::Status::ToString
    - std::string
    - JsonStruct::getInteger
    linkageType: ''
    returnType: bool
    signature: "bool ImdsTokenInfo::parseAccessToken(absl::string_view response,\n
      \                                    TokenResult* ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: espv2::envoy::token::ImdsTokenInfo::parseIdentityToken
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool ImdsTokenInfo::parseIdentityToken(absl::string_view response,\n
      \                                      TokenResult* ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::token::ImdsTokenInfo::ImdsTokenInfo
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ImdsTokenInfo::ImdsTokenInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:41,1
    - Dst: Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:44,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:45,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:46,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:46,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:47,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:47,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:51,1
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - token_url
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: espv2::envoy::token::ImdsTokenInfo::prepareRequest
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached:
    - std::move
    - Envoy::Http::Utility::extractHostPathFromUri
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
    - Envoy::Http::Headers::get
    - std::string
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: "Envoy::Http::RequestMessagePtr ImdsTokenInfo::prepareRequest(\n    absl::string_view
      token_url) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:65,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:66,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:67,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:68,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:68,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:75,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:77,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:78,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:84,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:85,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:86,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:87,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 95
    functionName: espv2::envoy::token::ImdsTokenInfo::parseAccessToken
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - JsonStruct::getString
    - ENVOY_LOG
    - ::google::protobuf::util::JsonStringToMessage
    - std::chrono::seconds
    - absl::Status::ToString
    - std::string
    - JsonStruct::getInteger
    linkageType: ''
    returnType: bool
    signature: "bool ImdsTokenInfo::parseAccessToken(absl::string_view response,\n
      \                                    TokenResult* ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: espv2::envoy::token::ImdsTokenInfo::parseIdentityToken
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool ImdsTokenInfo::parseIdentityToken(absl::string_view response,\n
      \                                      TokenResult* ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::token::ImdsTokenInfo::ImdsTokenInfo
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ImdsTokenInfo::ImdsTokenInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:41,1
    - Dst: Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:44,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:45,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:46,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:46,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:47,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:47,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:51,1
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - token_url
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: espv2::envoy::token::ImdsTokenInfo::prepareRequest
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached:
    - std::move
    - Envoy::Http::Utility::extractHostPathFromUri
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
    - Envoy::Http::Headers::get
    - std::string
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: "Envoy::Http::RequestMessagePtr ImdsTokenInfo::prepareRequest(\n    absl::string_view
      token_url) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:65,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:66,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:67,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:68,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:68,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:75,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:77,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:78,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:84,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:85,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:86,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:87,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 95
    functionName: espv2::envoy::token::ImdsTokenInfo::parseAccessToken
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - JsonStruct::getString
    - ENVOY_LOG
    - ::google::protobuf::util::JsonStringToMessage
    - std::chrono::seconds
    - absl::Status::ToString
    - std::string
    - JsonStruct::getInteger
    linkageType: ''
    returnType: bool
    signature: "bool ImdsTokenInfo::parseAccessToken(absl::string_view response,\n
      \                                    TokenResult* ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: espv2::envoy::token::ImdsTokenInfo::parseIdentityToken
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool ImdsTokenInfo::parseIdentityToken(absl::string_view response,\n
      \                                      TokenResult* ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::token::ImdsTokenInfo::ImdsTokenInfo
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ImdsTokenInfo::ImdsTokenInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:41,1
    - Dst: Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:44,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:45,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:46,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:46,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:47,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:47,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:51,1
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - token_url
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: espv2::envoy::token::ImdsTokenInfo::prepareRequest
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached:
    - std::move
    - Envoy::Http::Utility::extractHostPathFromUri
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
    - Envoy::Http::Headers::get
    - std::string
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: "Envoy::Http::RequestMessagePtr ImdsTokenInfo::prepareRequest(\n    absl::string_view
      token_url) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:65,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:66,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:67,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:68,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:68,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:75,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:77,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:78,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:84,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:85,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:86,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:87,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 95
    functionName: espv2::envoy::token::ImdsTokenInfo::parseAccessToken
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - JsonStruct::getString
    - ENVOY_LOG
    - ::google::protobuf::util::JsonStringToMessage
    - std::chrono::seconds
    - absl::Status::ToString
    - std::string
    - JsonStruct::getInteger
    linkageType: ''
    returnType: bool
    signature: "bool ImdsTokenInfo::parseAccessToken(absl::string_view response,\n
      \                                    TokenResult* ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: espv2::envoy::token::ImdsTokenInfo::parseIdentityToken
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool ImdsTokenInfo::parseIdentityToken(absl::string_view response,\n
      \                                      TokenResult* ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::token::ImdsTokenInfo::ImdsTokenInfo
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ImdsTokenInfo::ImdsTokenInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:41,1
    - Dst: Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:44,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:45,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:46,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:46,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:47,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:47,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:51,1
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - token_url
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: espv2::envoy::token::ImdsTokenInfo::prepareRequest
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached:
    - std::move
    - Envoy::Http::Utility::extractHostPathFromUri
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
    - Envoy::Http::Headers::get
    - std::string
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: "Envoy::Http::RequestMessagePtr ImdsTokenInfo::prepareRequest(\n    absl::string_view
      token_url) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:65,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:66,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:67,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:68,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:68,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:75,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:77,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:78,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:84,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:85,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:86,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:87,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 95
    functionName: espv2::envoy::token::ImdsTokenInfo::parseAccessToken
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - JsonStruct::getString
    - ENVOY_LOG
    - ::google::protobuf::util::JsonStringToMessage
    - std::chrono::seconds
    - absl::Status::ToString
    - std::string
    - JsonStruct::getInteger
    linkageType: ''
    returnType: bool
    signature: "bool ImdsTokenInfo::parseAccessToken(absl::string_view response,\n
      \                                    TokenResult* ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: espv2::envoy::token::ImdsTokenInfo::parseIdentityToken
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool ImdsTokenInfo::parseIdentityToken(absl::string_view response,\n
      \                                      TokenResult* ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: espv2::envoy::token::ImdsTokenInfo::ImdsTokenInfo
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ImdsTokenInfo::ImdsTokenInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::extractHostPathFromUri
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:41,1
    - Dst: Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:44,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:45,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:46,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:46,1
    - Dst: Envoy::Http::Headers::get
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:47,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:47,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:51,1
    - Dst: Envoy::Http::RequestMessageImpl::RequestMessageImpl
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - token_url
    argTypes:
    - absl::string_view
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: espv2::envoy::token::ImdsTokenInfo::prepareRequest
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached:
    - std::move
    - Envoy::Http::Utility::extractHostPathFromUri
    - Envoy::Http::RequestMessageImpl::RequestMessageImpl
    - Envoy::Http::createHeaderMap<Envoy::Http::RequestHeaderMapImpl>
    - Envoy::Http::Headers::get
    - std::string
    linkageType: ''
    returnType: Envoy::Http::RequestMessagePtr
    signature: "Envoy::Http::RequestMessagePtr ImdsTokenInfo::prepareRequest(\n    absl::string_view
      token_url) const"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ::google::protobuf::util::JsonStringToMessage
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:65,1
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:66,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:67,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:68,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:68,1
    - Dst: JsonStruct::getString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:75,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:76,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:77,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:78,1
    - Dst: JsonStruct::getInteger
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:84,1
    - Dst: absl::Status::ok
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:85,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:86,1
    - Dst: absl::Status::ToString
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:87,1
    - Dst: std::chrono::seconds
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 95
    functionName: espv2::envoy::token::ImdsTokenInfo::parseAccessToken
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached:
    - absl::Status::ok
    - JsonStruct::getString
    - ENVOY_LOG
    - ::google::protobuf::util::JsonStringToMessage
    - std::chrono::seconds
    - absl::Status::ToString
    - std::string
    - JsonStruct::getInteger
    linkageType: ''
    returnType: bool
    signature: "bool ImdsTokenInfo::parseAccessToken(absl::string_view response,\n
      \                                    TokenResult* ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/esp-v2/src/envoy/token/imds_token_info.cc:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - response
    - ret
    argTypes:
    - absl::string_view
    - TokenResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: espv2::envoy::token::ImdsTokenInfo::parseIdentityToken
    functionSourceFile: /src/esp-v2/src/envoy/token/imds_token_info.cc
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: bool
    signature: "bool ImdsTokenInfo::parseIdentityToken(absl::string_view response,\n
      \                                      TokenResult* ret) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:51,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - ' context'
    - ' token_type'
    - ' token_cluster'
    - ' token_url'
    - fetch_timeout
    - error_behavior
    - callback
    - token_info
    argTypes:
    - Envoy::Server::Configuration::FactoryContext
    - TokenType
    - std::string
    - std::string
    - std::chrono::seconds
    - DependencyErrorBehavior
    - UpdateTokenCallback
    - TokenInfoPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: espv2::envoy::token::TokenSubscriber::TokenSubscriber
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::TokenSubscriber(\n    Envoy::Server::Configuration::FactoryContext&
      context,\n    const TokenType& token_type, const std::string& token_cluster,\n
      \   const std::string& token_url, std::chrono::seconds fetch_timeout,\n    DependencyErrorBehavior
      error_behavior, UpdateTokenCallback callback,\n    TokenInfoPtr token_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Envoy::Init::TargetImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:58,1
    - Dst: espv2::envoy::token::TokenSubscriber::refresh
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:59,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:61,1
    - Dst: espv2::envoy::token::TokenSubscriber::refresh
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:62,1
    - Dst: initManager
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: espv2::envoy::token::TokenSubscriber::init
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::token::TokenSubscriber::refresh
    - initManager
    - std::make_unique<Envoy::Init::TargetImpl>
    - serverFactoryContext
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: TokenSubscriber::~TokenSubscriber()
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::~TokenSubscriber()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:75,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:79,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: espv2::envoy::token::TokenSubscriber::handleFailResponse
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - ready
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::handleFailResponse()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:94,1
    - Dst: std::chrono::seconds::count
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:95,1
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:96,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:97,1
    - Dst: espv2::envoy::token::TokenSubscriber::refresh
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:101,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - token
    - expires_in
    argTypes:
    - absl::string_view
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: espv2::envoy::token::TokenSubscriber::handleSuccessResponse
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - ready
    - std::chrono::seconds::count
    - ENVOY_LOG
    - espv2::envoy::token::TokenSubscriber::refresh
    - enableTimer
    - callback_
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::handleSuccessResponse(absl::string_view token,\n
      \                                           std::chrono::seconds expires_in)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:109,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:112,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:115,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:118,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:119,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:124,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:125,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:132,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:135,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:136,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:140,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 144
    functionName: espv2::envoy::token::TokenSubscriber::refresh
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 2
    functionsReached:
    - auto::httpAsyncClient
    - espv2::envoy::token::TokenSubscriber::handleFailResponse
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - std::move
    - prepareRequest
    - ENVOY_LOG
    - serverFactoryContext
    - Envoy::Http::AsyncClient::RequestOptions
    - cancel
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::refresh()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::getResponseStatusOrNullopt
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:149,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:149,1
    - Dst: auto::has_value
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:150,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:153,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:154,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:158,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:159,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:160,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:161,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:171,1
    - Dst: bodyAsString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:171,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:175,1
    - Dst: bodyAsString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:175,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:178,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:178,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:183,1
    - Dst: Envoy::Http::validHeaderString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:190,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:191,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:194,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:199,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:200,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:203,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:204,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleSuccessResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 209
    functionName: espv2::envoy::token::TokenSubscriber::processResponse
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::token::TokenSubscriber::handleFailResponse
    - parseAccessToken
    - Envoy::Http::validHeaderString
    - Envoy::Http::Utility::getResponseStatusOrNullopt
    - auto::value
    - Envoy::enumToInt
    - absl::StrCat
    - parseIdentityToken
    - TokenResult::expiry_duration::count
    - PANIC
    - espv2::envoy::token::TokenSubscriber::handleSuccessResponse
    - auto::has_value
    - ENVOY_LOG
    - headers
    - bodyAsString
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::processResponse(\n    Envoy::Http::ResponseMessagePtr&&
      response)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:213,1
    - Dst: bodyAsString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:214,1
    - Dst: espv2::envoy::token::TokenSubscriber::processResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:215,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: espv2::envoy::token::TokenSubscriber::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - bodyAsString
    - espv2::envoy::token::TokenSubscriber::processResponse
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::onSuccess(const Envoy::Http::AsyncClient::Request&,\n
      \                               Envoy::Http::ResponseMessagePtr&& response)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:223,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:228,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 234
    functionName: espv2::envoy::token::TokenSubscriber::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::token::TokenSubscriber::handleFailResponse
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::onFailure(\n    const Envoy::Http::AsyncClient::Request&,\n
      \   Envoy::Http::AsyncClient::FailureReason reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:51,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - ' context'
    - ' token_type'
    - ' token_cluster'
    - ' token_url'
    - fetch_timeout
    - error_behavior
    - callback
    - token_info
    argTypes:
    - Envoy::Server::Configuration::FactoryContext
    - TokenType
    - std::string
    - std::string
    - std::chrono::seconds
    - DependencyErrorBehavior
    - UpdateTokenCallback
    - TokenInfoPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: espv2::envoy::token::TokenSubscriber::TokenSubscriber
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::TokenSubscriber(\n    Envoy::Server::Configuration::FactoryContext&
      context,\n    const TokenType& token_type, const std::string& token_cluster,\n
      \   const std::string& token_url, std::chrono::seconds fetch_timeout,\n    DependencyErrorBehavior
      error_behavior, UpdateTokenCallback callback,\n    TokenInfoPtr token_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Envoy::Init::TargetImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:58,1
    - Dst: espv2::envoy::token::TokenSubscriber::refresh
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:59,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:61,1
    - Dst: espv2::envoy::token::TokenSubscriber::refresh
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:62,1
    - Dst: initManager
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: espv2::envoy::token::TokenSubscriber::init
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::token::TokenSubscriber::refresh
    - initManager
    - std::make_unique<Envoy::Init::TargetImpl>
    - serverFactoryContext
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: TokenSubscriber::~TokenSubscriber()
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::~TokenSubscriber()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:75,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:79,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: espv2::envoy::token::TokenSubscriber::handleFailResponse
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 3
    functionsReached:
    - ENVOY_LOG
    - ready
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::handleFailResponse()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:94,1
    - Dst: std::chrono::seconds::count
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:95,1
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:96,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:97,1
    - Dst: espv2::envoy::token::TokenSubscriber::refresh
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:101,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - token
    - expires_in
    argTypes:
    - absl::string_view
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: espv2::envoy::token::TokenSubscriber::handleSuccessResponse
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 1
    functionsReached:
    - ready
    - std::chrono::seconds::count
    - ENVOY_LOG
    - espv2::envoy::token::TokenSubscriber::refresh
    - enableTimer
    - callback_
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::handleSuccessResponse(absl::string_view token,\n
      \                                           std::chrono::seconds expires_in)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:109,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:112,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:115,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:118,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:119,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:124,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:125,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:132,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:135,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:136,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:140,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 144
    functionName: espv2::envoy::token::TokenSubscriber::refresh
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 4
    functionsReached:
    - auto::httpAsyncClient
    - espv2::envoy::token::TokenSubscriber::handleFailResponse
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - std::move
    - prepareRequest
    - ENVOY_LOG
    - serverFactoryContext
    - Envoy::Http::AsyncClient::RequestOptions
    - cancel
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::refresh()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::getResponseStatusOrNullopt
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:149,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:149,1
    - Dst: auto::has_value
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:150,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:153,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:154,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:158,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:159,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:160,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:161,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:171,1
    - Dst: bodyAsString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:171,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:175,1
    - Dst: bodyAsString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:175,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:178,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:178,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:183,1
    - Dst: Envoy::Http::validHeaderString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:190,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:191,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:194,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:199,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:200,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:203,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:204,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleSuccessResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 209
    functionName: espv2::envoy::token::TokenSubscriber::processResponse
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 1
    functionsReached:
    - espv2::envoy::token::TokenSubscriber::handleFailResponse
    - parseAccessToken
    - Envoy::Http::validHeaderString
    - Envoy::Http::Utility::getResponseStatusOrNullopt
    - auto::value
    - Envoy::enumToInt
    - absl::StrCat
    - parseIdentityToken
    - TokenResult::expiry_duration::count
    - PANIC
    - espv2::envoy::token::TokenSubscriber::handleSuccessResponse
    - auto::has_value
    - ENVOY_LOG
    - headers
    - bodyAsString
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::processResponse(\n    Envoy::Http::ResponseMessagePtr&&
      response)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:213,1
    - Dst: bodyAsString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:214,1
    - Dst: espv2::envoy::token::TokenSubscriber::processResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:215,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: espv2::envoy::token::TokenSubscriber::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - bodyAsString
    - espv2::envoy::token::TokenSubscriber::processResponse
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::onSuccess(const Envoy::Http::AsyncClient::Request&,\n
      \                               Envoy::Http::ResponseMessagePtr&& response)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:223,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:228,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 234
    functionName: espv2::envoy::token::TokenSubscriber::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::token::TokenSubscriber::handleFailResponse
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::onFailure(\n    const Envoy::Http::AsyncClient::Request&,\n
      \   Envoy::Http::AsyncClient::FailureReason reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:51,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - ' context'
    - ' token_type'
    - ' token_cluster'
    - ' token_url'
    - fetch_timeout
    - error_behavior
    - callback
    - token_info
    argTypes:
    - Envoy::Server::Configuration::FactoryContext
    - TokenType
    - std::string
    - std::string
    - std::chrono::seconds
    - DependencyErrorBehavior
    - UpdateTokenCallback
    - TokenInfoPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: espv2::envoy::token::TokenSubscriber::TokenSubscriber
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::TokenSubscriber(\n    Envoy::Server::Configuration::FactoryContext&
      context,\n    const TokenType& token_type, const std::string& token_cluster,\n
      \   const std::string& token_url, std::chrono::seconds fetch_timeout,\n    DependencyErrorBehavior
      error_behavior, UpdateTokenCallback callback,\n    TokenInfoPtr token_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Envoy::Init::TargetImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:58,1
    - Dst: espv2::envoy::token::TokenSubscriber::refresh
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:59,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:61,1
    - Dst: espv2::envoy::token::TokenSubscriber::refresh
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:62,1
    - Dst: initManager
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: espv2::envoy::token::TokenSubscriber::init
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::token::TokenSubscriber::refresh
    - initManager
    - std::make_unique<Envoy::Init::TargetImpl>
    - serverFactoryContext
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: TokenSubscriber::~TokenSubscriber()
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::~TokenSubscriber()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:75,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:79,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: espv2::envoy::token::TokenSubscriber::handleFailResponse
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 6
    functionsReached:
    - ENVOY_LOG
    - ready
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::handleFailResponse()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:94,1
    - Dst: std::chrono::seconds::count
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:95,1
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:96,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:97,1
    - Dst: espv2::envoy::token::TokenSubscriber::refresh
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:101,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - token
    - expires_in
    argTypes:
    - absl::string_view
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: espv2::envoy::token::TokenSubscriber::handleSuccessResponse
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 2
    functionsReached:
    - ready
    - std::chrono::seconds::count
    - ENVOY_LOG
    - espv2::envoy::token::TokenSubscriber::refresh
    - enableTimer
    - callback_
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::handleSuccessResponse(absl::string_view token,\n
      \                                           std::chrono::seconds expires_in)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:109,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:112,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:115,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:118,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:119,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:124,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:125,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:132,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:135,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:136,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:140,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 144
    functionName: espv2::envoy::token::TokenSubscriber::refresh
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 6
    functionsReached:
    - auto::httpAsyncClient
    - espv2::envoy::token::TokenSubscriber::handleFailResponse
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - std::move
    - prepareRequest
    - ENVOY_LOG
    - serverFactoryContext
    - Envoy::Http::AsyncClient::RequestOptions
    - cancel
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::refresh()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::getResponseStatusOrNullopt
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:149,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:149,1
    - Dst: auto::has_value
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:150,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:153,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:154,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:158,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:159,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:160,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:161,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:171,1
    - Dst: bodyAsString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:171,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:175,1
    - Dst: bodyAsString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:175,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:178,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:178,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:183,1
    - Dst: Envoy::Http::validHeaderString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:190,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:191,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:194,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:199,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:200,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:203,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:204,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleSuccessResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 209
    functionName: espv2::envoy::token::TokenSubscriber::processResponse
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 2
    functionsReached:
    - espv2::envoy::token::TokenSubscriber::handleFailResponse
    - parseAccessToken
    - Envoy::Http::validHeaderString
    - Envoy::Http::Utility::getResponseStatusOrNullopt
    - auto::value
    - Envoy::enumToInt
    - absl::StrCat
    - parseIdentityToken
    - TokenResult::expiry_duration::count
    - PANIC
    - espv2::envoy::token::TokenSubscriber::handleSuccessResponse
    - auto::has_value
    - ENVOY_LOG
    - headers
    - bodyAsString
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::processResponse(\n    Envoy::Http::ResponseMessagePtr&&
      response)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:213,1
    - Dst: bodyAsString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:214,1
    - Dst: espv2::envoy::token::TokenSubscriber::processResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:215,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: espv2::envoy::token::TokenSubscriber::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - bodyAsString
    - espv2::envoy::token::TokenSubscriber::processResponse
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::onSuccess(const Envoy::Http::AsyncClient::Request&,\n
      \                               Envoy::Http::ResponseMessagePtr&& response)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:223,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:228,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 234
    functionName: espv2::envoy::token::TokenSubscriber::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::token::TokenSubscriber::handleFailResponse
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::onFailure(\n    const Envoy::Http::AsyncClient::Request&,\n
      \   Envoy::Http::AsyncClient::FailureReason reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:51,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - ' context'
    - ' token_type'
    - ' token_cluster'
    - ' token_url'
    - fetch_timeout
    - error_behavior
    - callback
    - token_info
    argTypes:
    - Envoy::Server::Configuration::FactoryContext
    - TokenType
    - std::string
    - std::string
    - std::chrono::seconds
    - DependencyErrorBehavior
    - UpdateTokenCallback
    - TokenInfoPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: espv2::envoy::token::TokenSubscriber::TokenSubscriber
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::TokenSubscriber(\n    Envoy::Server::Configuration::FactoryContext&
      context,\n    const TokenType& token_type, const std::string& token_cluster,\n
      \   const std::string& token_url, std::chrono::seconds fetch_timeout,\n    DependencyErrorBehavior
      error_behavior, UpdateTokenCallback callback,\n    TokenInfoPtr token_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Envoy::Init::TargetImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:58,1
    - Dst: espv2::envoy::token::TokenSubscriber::refresh
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:59,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:61,1
    - Dst: espv2::envoy::token::TokenSubscriber::refresh
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:62,1
    - Dst: initManager
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: espv2::envoy::token::TokenSubscriber::init
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::token::TokenSubscriber::refresh
    - initManager
    - std::make_unique<Envoy::Init::TargetImpl>
    - serverFactoryContext
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: TokenSubscriber::~TokenSubscriber()
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::~TokenSubscriber()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:75,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:79,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: espv2::envoy::token::TokenSubscriber::handleFailResponse
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 9
    functionsReached:
    - ENVOY_LOG
    - ready
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::handleFailResponse()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:94,1
    - Dst: std::chrono::seconds::count
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:95,1
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:96,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:97,1
    - Dst: espv2::envoy::token::TokenSubscriber::refresh
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:101,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - token
    - expires_in
    argTypes:
    - absl::string_view
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: espv2::envoy::token::TokenSubscriber::handleSuccessResponse
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 3
    functionsReached:
    - ready
    - std::chrono::seconds::count
    - ENVOY_LOG
    - espv2::envoy::token::TokenSubscriber::refresh
    - enableTimer
    - callback_
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::handleSuccessResponse(absl::string_view token,\n
      \                                           std::chrono::seconds expires_in)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:109,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:112,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:115,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:118,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:119,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:124,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:125,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:132,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:135,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:136,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:140,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 144
    functionName: espv2::envoy::token::TokenSubscriber::refresh
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 8
    functionsReached:
    - auto::httpAsyncClient
    - espv2::envoy::token::TokenSubscriber::handleFailResponse
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - std::move
    - prepareRequest
    - ENVOY_LOG
    - serverFactoryContext
    - Envoy::Http::AsyncClient::RequestOptions
    - cancel
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::refresh()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::getResponseStatusOrNullopt
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:149,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:149,1
    - Dst: auto::has_value
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:150,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:153,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:154,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:158,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:159,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:160,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:161,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:171,1
    - Dst: bodyAsString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:171,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:175,1
    - Dst: bodyAsString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:175,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:178,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:178,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:183,1
    - Dst: Envoy::Http::validHeaderString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:190,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:191,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:194,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:199,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:200,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:203,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:204,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleSuccessResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 209
    functionName: espv2::envoy::token::TokenSubscriber::processResponse
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 3
    functionsReached:
    - espv2::envoy::token::TokenSubscriber::handleFailResponse
    - parseAccessToken
    - Envoy::Http::validHeaderString
    - Envoy::Http::Utility::getResponseStatusOrNullopt
    - auto::value
    - Envoy::enumToInt
    - absl::StrCat
    - parseIdentityToken
    - TokenResult::expiry_duration::count
    - PANIC
    - espv2::envoy::token::TokenSubscriber::handleSuccessResponse
    - auto::has_value
    - ENVOY_LOG
    - headers
    - bodyAsString
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::processResponse(\n    Envoy::Http::ResponseMessagePtr&&
      response)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:213,1
    - Dst: bodyAsString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:214,1
    - Dst: espv2::envoy::token::TokenSubscriber::processResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:215,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: espv2::envoy::token::TokenSubscriber::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - bodyAsString
    - espv2::envoy::token::TokenSubscriber::processResponse
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::onSuccess(const Envoy::Http::AsyncClient::Request&,\n
      \                               Envoy::Http::ResponseMessagePtr&& response)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:223,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:228,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 234
    functionName: espv2::envoy::token::TokenSubscriber::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::token::TokenSubscriber::handleFailResponse
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::onFailure(\n    const Envoy::Http::AsyncClient::Request&,\n
      \   Envoy::Http::AsyncClient::FailureReason reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:51,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - ' context'
    - ' token_type'
    - ' token_cluster'
    - ' token_url'
    - fetch_timeout
    - error_behavior
    - callback
    - token_info
    argTypes:
    - Envoy::Server::Configuration::FactoryContext
    - TokenType
    - std::string
    - std::string
    - std::chrono::seconds
    - DependencyErrorBehavior
    - UpdateTokenCallback
    - TokenInfoPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: espv2::envoy::token::TokenSubscriber::TokenSubscriber
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::TokenSubscriber(\n    Envoy::Server::Configuration::FactoryContext&
      context,\n    const TokenType& token_type, const std::string& token_cluster,\n
      \   const std::string& token_url, std::chrono::seconds fetch_timeout,\n    DependencyErrorBehavior
      error_behavior, UpdateTokenCallback callback,\n    TokenInfoPtr token_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Envoy::Init::TargetImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:58,1
    - Dst: espv2::envoy::token::TokenSubscriber::refresh
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:59,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:61,1
    - Dst: espv2::envoy::token::TokenSubscriber::refresh
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:62,1
    - Dst: initManager
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: espv2::envoy::token::TokenSubscriber::init
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::token::TokenSubscriber::refresh
    - initManager
    - std::make_unique<Envoy::Init::TargetImpl>
    - serverFactoryContext
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: TokenSubscriber::~TokenSubscriber()
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::~TokenSubscriber()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:75,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:79,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: espv2::envoy::token::TokenSubscriber::handleFailResponse
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 12
    functionsReached:
    - ENVOY_LOG
    - ready
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::handleFailResponse()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:94,1
    - Dst: std::chrono::seconds::count
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:95,1
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:96,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:97,1
    - Dst: espv2::envoy::token::TokenSubscriber::refresh
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:101,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - token
    - expires_in
    argTypes:
    - absl::string_view
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: espv2::envoy::token::TokenSubscriber::handleSuccessResponse
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 4
    functionsReached:
    - ready
    - std::chrono::seconds::count
    - ENVOY_LOG
    - espv2::envoy::token::TokenSubscriber::refresh
    - enableTimer
    - callback_
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::handleSuccessResponse(absl::string_view token,\n
      \                                           std::chrono::seconds expires_in)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:109,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:112,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:115,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:118,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:119,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:124,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:125,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:132,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:135,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:136,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:140,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 144
    functionName: espv2::envoy::token::TokenSubscriber::refresh
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 10
    functionsReached:
    - auto::httpAsyncClient
    - espv2::envoy::token::TokenSubscriber::handleFailResponse
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - std::move
    - prepareRequest
    - ENVOY_LOG
    - serverFactoryContext
    - Envoy::Http::AsyncClient::RequestOptions
    - cancel
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::refresh()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::getResponseStatusOrNullopt
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:149,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:149,1
    - Dst: auto::has_value
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:150,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:153,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:154,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:158,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:159,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:160,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:161,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:171,1
    - Dst: bodyAsString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:171,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:175,1
    - Dst: bodyAsString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:175,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:178,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:178,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:183,1
    - Dst: Envoy::Http::validHeaderString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:190,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:191,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:194,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:199,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:200,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:203,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:204,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleSuccessResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 209
    functionName: espv2::envoy::token::TokenSubscriber::processResponse
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 4
    functionsReached:
    - espv2::envoy::token::TokenSubscriber::handleFailResponse
    - parseAccessToken
    - Envoy::Http::validHeaderString
    - Envoy::Http::Utility::getResponseStatusOrNullopt
    - auto::value
    - Envoy::enumToInt
    - absl::StrCat
    - parseIdentityToken
    - TokenResult::expiry_duration::count
    - PANIC
    - espv2::envoy::token::TokenSubscriber::handleSuccessResponse
    - auto::has_value
    - ENVOY_LOG
    - headers
    - bodyAsString
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::processResponse(\n    Envoy::Http::ResponseMessagePtr&&
      response)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:213,1
    - Dst: bodyAsString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:214,1
    - Dst: espv2::envoy::token::TokenSubscriber::processResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:215,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: espv2::envoy::token::TokenSubscriber::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - bodyAsString
    - espv2::envoy::token::TokenSubscriber::processResponse
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::onSuccess(const Envoy::Http::AsyncClient::Request&,\n
      \                               Envoy::Http::ResponseMessagePtr&& response)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:223,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:228,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 234
    functionName: espv2::envoy::token::TokenSubscriber::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::token::TokenSubscriber::handleFailResponse
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::onFailure(\n    const Envoy::Http::AsyncClient::Request&,\n
      \   Envoy::Http::AsyncClient::FailureReason reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:51,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - ' context'
    - ' token_type'
    - ' token_cluster'
    - ' token_url'
    - fetch_timeout
    - error_behavior
    - callback
    - token_info
    argTypes:
    - Envoy::Server::Configuration::FactoryContext
    - TokenType
    - std::string
    - std::string
    - std::chrono::seconds
    - DependencyErrorBehavior
    - UpdateTokenCallback
    - TokenInfoPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: espv2::envoy::token::TokenSubscriber::TokenSubscriber
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::TokenSubscriber(\n    Envoy::Server::Configuration::FactoryContext&
      context,\n    const TokenType& token_type, const std::string& token_cluster,\n
      \   const std::string& token_url, std::chrono::seconds fetch_timeout,\n    DependencyErrorBehavior
      error_behavior, UpdateTokenCallback callback,\n    TokenInfoPtr token_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Envoy::Init::TargetImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:58,1
    - Dst: espv2::envoy::token::TokenSubscriber::refresh
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:59,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:61,1
    - Dst: espv2::envoy::token::TokenSubscriber::refresh
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:62,1
    - Dst: initManager
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: espv2::envoy::token::TokenSubscriber::init
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::token::TokenSubscriber::refresh
    - initManager
    - std::make_unique<Envoy::Init::TargetImpl>
    - serverFactoryContext
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: TokenSubscriber::~TokenSubscriber()
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::~TokenSubscriber()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:75,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:79,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: espv2::envoy::token::TokenSubscriber::handleFailResponse
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 15
    functionsReached:
    - ENVOY_LOG
    - ready
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::handleFailResponse()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:94,1
    - Dst: std::chrono::seconds::count
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:95,1
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:96,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:97,1
    - Dst: espv2::envoy::token::TokenSubscriber::refresh
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:101,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - token
    - expires_in
    argTypes:
    - absl::string_view
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: espv2::envoy::token::TokenSubscriber::handleSuccessResponse
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 5
    functionsReached:
    - ready
    - std::chrono::seconds::count
    - ENVOY_LOG
    - espv2::envoy::token::TokenSubscriber::refresh
    - enableTimer
    - callback_
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::handleSuccessResponse(absl::string_view token,\n
      \                                           std::chrono::seconds expires_in)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:109,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:112,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:115,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:118,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:119,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:124,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:125,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:132,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:135,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:136,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:140,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 144
    functionName: espv2::envoy::token::TokenSubscriber::refresh
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 12
    functionsReached:
    - auto::httpAsyncClient
    - espv2::envoy::token::TokenSubscriber::handleFailResponse
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - std::move
    - prepareRequest
    - ENVOY_LOG
    - serverFactoryContext
    - Envoy::Http::AsyncClient::RequestOptions
    - cancel
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::refresh()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::getResponseStatusOrNullopt
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:149,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:149,1
    - Dst: auto::has_value
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:150,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:153,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:154,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:158,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:159,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:160,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:161,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:171,1
    - Dst: bodyAsString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:171,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:175,1
    - Dst: bodyAsString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:175,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:178,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:178,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:183,1
    - Dst: Envoy::Http::validHeaderString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:190,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:191,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:194,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:199,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:200,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:203,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:204,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleSuccessResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 209
    functionName: espv2::envoy::token::TokenSubscriber::processResponse
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 5
    functionsReached:
    - espv2::envoy::token::TokenSubscriber::handleFailResponse
    - parseAccessToken
    - Envoy::Http::validHeaderString
    - Envoy::Http::Utility::getResponseStatusOrNullopt
    - auto::value
    - Envoy::enumToInt
    - absl::StrCat
    - parseIdentityToken
    - TokenResult::expiry_duration::count
    - PANIC
    - espv2::envoy::token::TokenSubscriber::handleSuccessResponse
    - auto::has_value
    - ENVOY_LOG
    - headers
    - bodyAsString
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::processResponse(\n    Envoy::Http::ResponseMessagePtr&&
      response)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:213,1
    - Dst: bodyAsString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:214,1
    - Dst: espv2::envoy::token::TokenSubscriber::processResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:215,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: espv2::envoy::token::TokenSubscriber::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - bodyAsString
    - espv2::envoy::token::TokenSubscriber::processResponse
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::onSuccess(const Envoy::Http::AsyncClient::Request&,\n
      \                               Envoy::Http::ResponseMessagePtr&& response)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:223,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:228,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 234
    functionName: espv2::envoy::token::TokenSubscriber::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::token::TokenSubscriber::handleFailResponse
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::onFailure(\n    const Envoy::Http::AsyncClient::Request&,\n
      \   Envoy::Http::AsyncClient::FailureReason reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:51,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - ' context'
    - ' token_type'
    - ' token_cluster'
    - ' token_url'
    - fetch_timeout
    - error_behavior
    - callback
    - token_info
    argTypes:
    - Envoy::Server::Configuration::FactoryContext
    - TokenType
    - std::string
    - std::string
    - std::chrono::seconds
    - DependencyErrorBehavior
    - UpdateTokenCallback
    - TokenInfoPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: espv2::envoy::token::TokenSubscriber::TokenSubscriber
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::TokenSubscriber(\n    Envoy::Server::Configuration::FactoryContext&
      context,\n    const TokenType& token_type, const std::string& token_cluster,\n
      \   const std::string& token_url, std::chrono::seconds fetch_timeout,\n    DependencyErrorBehavior
      error_behavior, UpdateTokenCallback callback,\n    TokenInfoPtr token_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Envoy::Init::TargetImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:58,1
    - Dst: espv2::envoy::token::TokenSubscriber::refresh
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:59,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:61,1
    - Dst: espv2::envoy::token::TokenSubscriber::refresh
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:62,1
    - Dst: initManager
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: espv2::envoy::token::TokenSubscriber::init
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::token::TokenSubscriber::refresh
    - initManager
    - std::make_unique<Envoy::Init::TargetImpl>
    - serverFactoryContext
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: TokenSubscriber::~TokenSubscriber()
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::~TokenSubscriber()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:75,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:79,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: espv2::envoy::token::TokenSubscriber::handleFailResponse
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 18
    functionsReached:
    - ENVOY_LOG
    - ready
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::handleFailResponse()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:94,1
    - Dst: std::chrono::seconds::count
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:95,1
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:96,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:97,1
    - Dst: espv2::envoy::token::TokenSubscriber::refresh
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:101,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - token
    - expires_in
    argTypes:
    - absl::string_view
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: espv2::envoy::token::TokenSubscriber::handleSuccessResponse
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 6
    functionsReached:
    - ready
    - std::chrono::seconds::count
    - ENVOY_LOG
    - espv2::envoy::token::TokenSubscriber::refresh
    - enableTimer
    - callback_
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::handleSuccessResponse(absl::string_view token,\n
      \                                           std::chrono::seconds expires_in)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:109,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:112,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:115,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:118,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:119,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:124,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:125,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:132,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:135,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:136,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:140,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 144
    functionName: espv2::envoy::token::TokenSubscriber::refresh
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 14
    functionsReached:
    - auto::httpAsyncClient
    - espv2::envoy::token::TokenSubscriber::handleFailResponse
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - std::move
    - prepareRequest
    - ENVOY_LOG
    - serverFactoryContext
    - Envoy::Http::AsyncClient::RequestOptions
    - cancel
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::refresh()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::getResponseStatusOrNullopt
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:149,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:149,1
    - Dst: auto::has_value
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:150,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:153,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:154,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:158,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:159,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:160,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:161,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:171,1
    - Dst: bodyAsString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:171,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:175,1
    - Dst: bodyAsString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:175,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:178,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:178,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:183,1
    - Dst: Envoy::Http::validHeaderString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:190,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:191,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:194,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:199,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:200,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:203,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:204,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleSuccessResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 209
    functionName: espv2::envoy::token::TokenSubscriber::processResponse
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 6
    functionsReached:
    - espv2::envoy::token::TokenSubscriber::handleFailResponse
    - parseAccessToken
    - Envoy::Http::validHeaderString
    - Envoy::Http::Utility::getResponseStatusOrNullopt
    - auto::value
    - Envoy::enumToInt
    - absl::StrCat
    - parseIdentityToken
    - TokenResult::expiry_duration::count
    - PANIC
    - espv2::envoy::token::TokenSubscriber::handleSuccessResponse
    - auto::has_value
    - ENVOY_LOG
    - headers
    - bodyAsString
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::processResponse(\n    Envoy::Http::ResponseMessagePtr&&
      response)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:213,1
    - Dst: bodyAsString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:214,1
    - Dst: espv2::envoy::token::TokenSubscriber::processResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:215,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: espv2::envoy::token::TokenSubscriber::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - bodyAsString
    - espv2::envoy::token::TokenSubscriber::processResponse
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::onSuccess(const Envoy::Http::AsyncClient::Request&,\n
      \                               Envoy::Http::ResponseMessagePtr&& response)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:223,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:228,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 234
    functionName: espv2::envoy::token::TokenSubscriber::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::token::TokenSubscriber::handleFailResponse
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::onFailure(\n    const Envoy::Http::AsyncClient::Request&,\n
      \   Envoy::Http::AsyncClient::FailureReason reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:51,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - ' context'
    - ' token_type'
    - ' token_cluster'
    - ' token_url'
    - fetch_timeout
    - error_behavior
    - callback
    - token_info
    argTypes:
    - Envoy::Server::Configuration::FactoryContext
    - TokenType
    - std::string
    - std::string
    - std::chrono::seconds
    - DependencyErrorBehavior
    - UpdateTokenCallback
    - TokenInfoPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: espv2::envoy::token::TokenSubscriber::TokenSubscriber
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - absl::StrCat
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::TokenSubscriber(\n    Envoy::Server::Configuration::FactoryContext&
      context,\n    const TokenType& token_type, const std::string& token_cluster,\n
      \   const std::string& token_url, std::chrono::seconds fetch_timeout,\n    DependencyErrorBehavior
      error_behavior, UpdateTokenCallback callback,\n    TokenInfoPtr token_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::make_unique<Envoy::Init::TargetImpl>
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:58,1
    - Dst: espv2::envoy::token::TokenSubscriber::refresh
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:59,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:61,1
    - Dst: espv2::envoy::token::TokenSubscriber::refresh
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:62,1
    - Dst: initManager
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: espv2::envoy::token::TokenSubscriber::init
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - espv2::envoy::token::TokenSubscriber::refresh
    - initManager
    - std::make_unique<Envoy::Init::TargetImpl>
    - serverFactoryContext
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::init()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: TokenSubscriber::~TokenSubscriber()
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - cancel
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::~TokenSubscriber()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:75,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:79,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: espv2::envoy::token::TokenSubscriber::handleFailResponse
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 21
    functionsReached:
    - ENVOY_LOG
    - ready
    - enableTimer
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::handleFailResponse()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:94,1
    - Dst: std::chrono::seconds::count
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:95,1
    - Dst: callback_
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:96,1
    - Dst: ready
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:97,1
    - Dst: espv2::envoy::token::TokenSubscriber::refresh
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:101,1
    - Dst: enableTimer
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - token
    - expires_in
    argTypes:
    - absl::string_view
    - std::chrono::seconds
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: espv2::envoy::token::TokenSubscriber::handleSuccessResponse
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 7
    functionsReached:
    - ready
    - std::chrono::seconds::count
    - ENVOY_LOG
    - espv2::envoy::token::TokenSubscriber::refresh
    - enableTimer
    - callback_
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::handleSuccessResponse(absl::string_view token,\n
      \                                           std::chrono::seconds expires_in)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cancel
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:109,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:112,1
    - Dst: prepareRequest
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:115,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:118,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:119,1
    - Dst: Envoy::Http::AsyncClient::RequestOptions
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:124,1
    - Dst: std::chrono::duration_cast<std::chrono::milliseconds>
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:125,1
    - Dst: serverFactoryContext
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:132,1
    - Dst: auto::httpAsyncClient
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:135,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:136,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:140,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 144
    functionName: espv2::envoy::token::TokenSubscriber::refresh
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 16
    functionsReached:
    - auto::httpAsyncClient
    - espv2::envoy::token::TokenSubscriber::handleFailResponse
    - std::chrono::duration_cast<std::chrono::milliseconds>
    - std::move
    - prepareRequest
    - ENVOY_LOG
    - serverFactoryContext
    - Envoy::Http::AsyncClient::RequestOptions
    - cancel
    linkageType: ''
    returnType: void
    signature: void TokenSubscriber::refresh()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Envoy::Http::Utility::getResponseStatusOrNullopt
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:149,1
    - Dst: headers
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:149,1
    - Dst: auto::has_value
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:150,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:153,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:154,1
    - Dst: auto::value
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:158,1
    - Dst: Envoy::enumToInt
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:159,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:160,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:161,1
    - Dst: parseIdentityToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:171,1
    - Dst: bodyAsString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:171,1
    - Dst: parseAccessToken
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:175,1
    - Dst: bodyAsString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:175,1
    - Dst: PANIC
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:178,1
    - Dst: absl::StrCat
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:178,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:183,1
    - Dst: Envoy::Http::validHeaderString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:190,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:191,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:194,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:199,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:200,1
    - Dst: TokenResult::expiry_duration::count
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:203,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:204,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleSuccessResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 209
    functionName: espv2::envoy::token::TokenSubscriber::processResponse
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 7
    functionsReached:
    - espv2::envoy::token::TokenSubscriber::handleFailResponse
    - parseAccessToken
    - Envoy::Http::validHeaderString
    - Envoy::Http::Utility::getResponseStatusOrNullopt
    - auto::value
    - Envoy::enumToInt
    - absl::StrCat
    - parseIdentityToken
    - TokenResult::expiry_duration::count
    - PANIC
    - espv2::envoy::token::TokenSubscriber::handleSuccessResponse
    - auto::has_value
    - ENVOY_LOG
    - headers
    - bodyAsString
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::processResponse(\n    Envoy::Http::ResponseMessagePtr&&
      response)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:213,1
    - Dst: bodyAsString
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:214,1
    - Dst: espv2::envoy::token::TokenSubscriber::processResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:215,1
    - Dst: std::move
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ' response'
    argTypes:
    - Envoy::Http::ResponseMessagePtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 211
    functionDepth: 3
    functionLinenumber: 211
    functionLinenumberEnd: 216
    functionName: espv2::envoy::token::TokenSubscriber::onSuccess
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - bodyAsString
    - espv2::envoy::token::TokenSubscriber::processResponse
    - std::move
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::onSuccess(const Envoy::Http::AsyncClient::Request&,\n
      \                               Envoy::Http::ResponseMessagePtr&& response)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:223,1
    - Dst: ENVOY_LOG
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:228,1
    - Dst: espv2::envoy::token::TokenSubscriber::handleFailResponse
      Src: /src/esp-v2/src/envoy/token/token_subscriber.cc:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - reason
    argTypes:
    - Envoy::Http::AsyncClient::FailureReason
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 234
    functionName: espv2::envoy::token::TokenSubscriber::onFailure
    functionSourceFile: /src/esp-v2/src/envoy/token/token_subscriber.cc
    functionUses: 0
    functionsReached:
    - ENVOY_LOG
    - espv2::envoy::token::TokenSubscriber::handleFailResponse
    linkageType: ''
    returnType: void
    signature: "void TokenSubscriber::onFailure(\n    const Envoy::Http::AsyncClient::Request&,\n
      \   Envoy::Http::AsyncClient::FailureReason reason)"
Fuzzer filename: empty-file.cpp
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- src/envoy/http/service_control/mocks.h
- google/api/label.pb.h
- src/envoy/http/service_control/handler_utils.h
- absl/status/statusor.h
- algorithm
- functional
- api/envoy/v12/http/header_sanitizer/config.pb.h
- src/api_proxy/service_control/check_response_convert_utils.h
- iostream
- src/envoy/token/token_subscriber_factory.h
- source/common/common/empty_string.h
- src/envoy/http/service_control/service_control_callback_func.h
- include/service_control_client.h
- src/envoy/http/path_rewrite/config_parser.h
- src/envoy/http/backend_auth/config_parser.h
- google/protobuf/map.h
- src/envoy/http/service_control/client_cache.h
- google/protobuf/io/zero_copy_stream_impl_lite.h
- src/envoy/http/service_control/http_call.h
- absl/strings/str_cat.h
- cstdlib
- src/envoy/http/path_rewrite/config_parser_impl.h
- source/common/config/metadata.h
- source/common/init/target_impl.h
- src/envoy/http/path_rewrite/filter_config.h
- google/protobuf/text_format.h
- tests/fuzz/structured_inputs/json_struct.pb.validate.h
- src/envoy/token/token_subscriber.h
- google/protobuf/io/zero_copy_stream_impl.h
- src/envoy/http/service_control/handler.h
- google/api/quota.pb.h
- utils/distribution_helper.h
- src/envoy/http/grpc_metadata_scrubber/filter_config.h
- test/mocks/tracing/mocks.h
- src/envoy/http/grpc_metadata_scrubber/filter.h
- envoy/tracing/tracer.h
- source/common/grpc/codec.h
- unordered_map
- source/extensions/filters/http/common/factory_base.h
- source/common/protobuf/utility.h
- test/fuzz/fuzz_runner.h
- envoy/runtime/runtime.h
- src/envoy/utils/http_header_utils.h
- envoy/server/filter_config.h
- memory
- test/mocks/event/mocks.h
- api/envoy/v12/http/backend_auth/config.pb.validate.h
- api/envoy/v12/http/header_sanitizer/config.pb.validate.h
- source/common/http/header_utility.h
- source/common/grpc/status.h
- source/common/http/headers.h
- api/envoy/v12/http/path_rewrite/config.pb.validate.h
- absl/strings/string_view.h
- ostream
- api/envoy/v12/http/path_rewrite/config.pb.h
- google/protobuf/util/message_differencer.h
- google/api/servicecontrol/v1/service_controller.pb.h
- list
- string
- src/envoy/http/service_control/filter.h
- envoy/stream_info/stream_info.h
- unistd.h
- test/mocks/common.h
- test/extensions/filters/http/common/fuzz/uber_filter.h
- src/api_proxy/utils/version_macro.h
- src/envoy/http/header_sanitizer/filter.h
- src/envoy/http/backend_auth/filter_config.h
- absl/status/status.h
- src/api_proxy/utils/version.h
- test/mocks/router/mocks.h
- vector
- google/protobuf/util/time_util.h
- source/common/common/base64.h
- envoy/upstream/cluster_manager.h
- absl/functional/bind_front.h
- envoy/common/pure.h
- source/common/router/string_accessor_impl.h
- src/envoy/http/service_control/service_control_call.h
- stdexcept
- api/envoy/v12/http/backend_auth/config.pb.h
- source/common/tracing/http_tracer_impl.h
- src/envoy/http/service_control/filter_stats.h
- src/api_proxy/service_control/request_info.h
- grpc++/grpc++.h
- source/common/common/assert.h
- src/envoy/token/token_subscriber_factory_impl.h
- cstddef
- absl/strings/str_replace.h
- type_traits
- src/envoy/token/iam_token_info.h
- google/api/metric.pb.h
- src/envoy/http/path_rewrite/filter.h
- google/api/servicecontrol/v1/quota_controller.pb.h
- tests/fuzz/structured_inputs/iam_token_info.pb.validate.h
- src/envoy/token/mocks.h
- envoy/common/time.h
- fstream
- envoy/thread_local/thread_local.h
- sstream
- envoy/access_log/access_log.h
- src/envoy/token/token_info.h
- google/protobuf/struct.pb.h
- envoy/http/filter.h
- gtest/gtest_prod.h
- envoy/stats/scope.h
- test/mocks/init/mocks.h
- test/mocks/server/mocks.h
- absl/container/flat_hash_map.h
- google/protobuf/util/type_resolver_util.h
- src/api_proxy/path_matcher/path_matcher_node.h
- gtest/gtest.h
- gmock/gmock.h
- tests/fuzz/structured_inputs/parsing_forwarded_header.pb.h
- src/envoy/http/path_rewrite/mocks.h
- src/api_proxy/service_control/logs_metrics_loader.h
- api/envoy/v12/http/service_control/config.pb.validate.h
- api/envoy/v12/http/grpc_metadata_scrubber/config.pb.h
- src/envoy/http/service_control/handler_impl.h
- envoy/event/deferred_deletable.h
- envoy/http/header_map.h
- source/common/grpc/common.h
- envoy/stream_info/filter_state.h
- src/envoy/http/backend_auth/filter.h
- test/test_common/test_time.h
- envoy/http/message.h
- api/envoy/v12/http/common/base.pb.h
- envoy/http/async_client.h
- tests/fuzz/structured_inputs/imds_token_info.pb.validate.h
- google/api/service.pb.h
- tests/endpoints/grpc_echo/client-test-lib.h
- time.h
- source/common/http/message_impl.h
- envoy/common/random_generator.h
- cmath
- source/common/http/utility.h
- test/test_common/utility.h
- rc_detail_utils.h
- mutex
- api/envoy/v12/http/grpc_metadata_scrubber/config.pb.validate.h
- tests/fuzz/structured_inputs/http_template.pb.validate.h
- absl/strings/match.h
- google/protobuf/repeated_field.h
- envoy/buffer/buffer.h
- src/envoy/http/service_control/service_control_call_impl.h
- absl/strings/str_split.h
- envoy/registry/registry.h
- envoy/grpc/status.h
- tests/endpoints/grpc_echo/proto/grpc-test.grpc.pb.h
- src/api_proxy/path_matcher/path_matcher.h
- src/api_proxy/service_control/request_builder.h
- source/extensions/filters/http/well_known_names.h
- src/envoy/http/backend_auth/filter_config_impl.h
- src/envoy/token/imds_token_info.h
- random
- src/api_proxy/path_matcher/variable_binding_utils.h
- api/envoy/v12/http/service_control/requirement.pb.h
- envoy/router/router.h
- source/common/common/enum_to_int.h
- test/mocks/stats/mocks.h
- source/common/stream_info/filter_state_impl.h
- grpc++/alarm.h
- set
- cassert
- source/extensions/filters/http/common/pass_through_filter.h
- source/common/stream_info/utility.h
- test/fuzz/utility.h
- src/envoy/http/service_control/filter_config.h
- src/envoy/http/backend_auth/mocks.h
- map
- tests/fuzz/structured_inputs/service_control_filter.pb.validate.h
- assert.h
- chrono
- envoy/event/dispatcher.h
- absl/types/optional.h
- json_struct.h
- google/protobuf/timestamp.pb.h
- test/mocks/http/mocks.h
- src/envoy/http/service_control/config_parser.h
- src/envoy/utils/rc_detail_utils.h
- src/api_proxy/path_matcher/http_template.h
- google/protobuf/util/json_util.h
- forward_list
- api/envoy/v12/http/service_control/config.pb.h
- source/common/common/logger.h
- src/envoy/utils/json_struct.h
- envoy/http/query_params.h
- src/envoy/http/backend_auth/config_parser_impl.h
- src/envoy/utils/filter_state_utils.h
- envoy/stats/stats_macros.h
- source/common/network/utility.h
report: name
sources:
- function_names: []
  source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.h
  types:
    enum:
    - enumerators:
      - name: DEFAULT
        value: '0'
      - name: PRETTY_PRINT
        value: '1'
      - name: OUTPUT_DEFAULTS
        value: '2'
      item_type: enum
      name: JsonOptions
      pos:
        line_end: 29
        line_start: 20
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.h
    - enumerators:
      - name: DEFAULT
        value: '0'
      - name: PRETTY_PRINT
        value: '1'
      - name: OUTPUT_DEFAULTS
        value: '2'
      item_type: enum
      name: JsonOptions
      pos:
        line_end: 29
        line_start: 20
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.h
    - enumerators:
      - name: DEFAULT
        value: '0'
      - name: PRETTY_PRINT
        value: '1'
      - name: OUTPUT_DEFAULTS
        value: '2'
      item_type: enum
      name: JsonOptions
      pos:
        line_end: 29
        line_start: 20
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.h
    - enumerators:
      - name: DEFAULT
        value: '0'
      - name: PRETTY_PRINT
        value: '1'
      - name: OUTPUT_DEFAULTS
        value: '2'
      item_type: enum
      name: JsonOptions
      pos:
        line_end: 29
        line_start: 20
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ReadInput
  - ReadInput
  - main
  source_file: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-client.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test::grpc::CreateTypeResolver
  - test::grpc::GetTypeResolver
  - test::grpc::GetTypeUrl
  - test::grpc::FromProto
  - test::grpc::CreateTypeResolver
  - test::grpc::GetTypeResolver
  - test::grpc::GetTypeUrl
  - test::grpc::FromProto
  - test::grpc::JsonToProto
  - test::grpc::ProtoToJson
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetStub
  - test::grpc::SetCallConfig
  - test::grpc::VerifyMetadata
  - test::grpc::RandomString
  - test::grpc::CreateEchoRequestText
  - test::grpc::GetStatusAggregationKey
  - test::grpc::Echo::Start
  - test::grpc::Echo::Echo
  - test::grpc::EchoReport::Start
  - test::grpc::EchoReport::EchoReport
  - test::grpc::EchoStream::Start
  - test::grpc::EchoStream::EchoStream
  - test::grpc::EchoStream::StartWrite
  - test::grpc::EchoStream::StartRead
  - test::grpc::EchoStream::StartDone
  - test::grpc::EchoStream::StartFinish
  - test::grpc::Parallel::Start
  - test::grpc::Parallel::Parallel
  - test::grpc::Parallel::GetWeightSum
  - test::grpc::Parallel::StartTests
  - test::grpc::Parallel::StartTestsLocked
  - test::grpc::Parallel::NextSubtestType
  - test::grpc::Parallel::CalculateStats
  - test::grpc::Parallel::AggregatedStatus::AggregatedStatus
  - test::grpc::Parallel::AggregatedStatus::Inc
  - test::grpc::Parallel::AggregatedStatus::Fill
  - test::grpc::Parallel::AddFailure
  - test::grpc::ProbeCallLimit::Start
  - test::grpc::ProbeCallLimit::ProbeCallLimit
  - test::grpc::ProbeCallLimit::StartReadCorkState
  - test::grpc::ProbeCallLimit::StartProbe
  - test::grpc::ProbeCallLimit::OnTimeout
  - test::grpc::ProbeDownstreamMessageLimit::Start
  - test::grpc::ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
  - test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
  - test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
  - test::grpc::ProbeDownstreamMessageLimit::StartProbe
  - test::grpc::ProbeDownstreamMessageLimit::OnTimeout
  - test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
  - test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
  - test::grpc::ProbeUpstreamMessageLimit::Start
  - test::grpc::ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
  - test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
  - test::grpc::ProbeUpstreamMessageLimit::StartProbe
  - test::grpc::ProbeUpstreamMessageLimit::OnTimeout
  - test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
  - test::grpc::RunSync
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetStub
  - test::grpc::SetCallConfig
  - test::grpc::VerifyMetadata
  - test::grpc::RandomString
  - test::grpc::CreateEchoRequestText
  - test::grpc::GetStatusAggregationKey
  - test::grpc::Echo::Start
  - test::grpc::Echo::Echo
  - test::grpc::EchoReport::Start
  - test::grpc::EchoReport::EchoReport
  - test::grpc::EchoStream::Start
  - test::grpc::EchoStream::EchoStream
  - test::grpc::EchoStream::StartWrite
  - test::grpc::EchoStream::StartRead
  - test::grpc::EchoStream::StartDone
  - test::grpc::EchoStream::StartFinish
  - test::grpc::Parallel::Start
  - test::grpc::Parallel::Parallel
  - test::grpc::Parallel::GetWeightSum
  - test::grpc::Parallel::StartTests
  - test::grpc::Parallel::StartTestsLocked
  - test::grpc::Parallel::NextSubtestType
  - test::grpc::Parallel::CalculateStats
  - test::grpc::Parallel::AggregatedStatus::AggregatedStatus
  - test::grpc::Parallel::AggregatedStatus::Inc
  - test::grpc::Parallel::AggregatedStatus::Fill
  - test::grpc::Parallel::AddFailure
  - test::grpc::ProbeCallLimit::Start
  - test::grpc::ProbeCallLimit::ProbeCallLimit
  - test::grpc::ProbeCallLimit::StartReadCorkState
  - test::grpc::ProbeCallLimit::StartProbe
  - test::grpc::ProbeCallLimit::OnTimeout
  - test::grpc::ProbeDownstreamMessageLimit::Start
  - test::grpc::ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
  - test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
  - test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
  - test::grpc::ProbeDownstreamMessageLimit::StartProbe
  - test::grpc::ProbeDownstreamMessageLimit::OnTimeout
  - test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
  - test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
  - test::grpc::ProbeUpstreamMessageLimit::Start
  - test::grpc::ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
  - test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
  - test::grpc::ProbeUpstreamMessageLimit::StartProbe
  - test::grpc::ProbeUpstreamMessageLimit::OnTimeout
  - test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
  - test::grpc::RunSync
  - test::grpc::RunTestPlans
  - test::grpc::CreateTypeResolver
  - test::grpc::GetTypeResolver
  - test::grpc::GetTypeUrl
  - test::grpc::FromProto
  - test::grpc::CreateTypeResolver
  - test::grpc::GetTypeResolver
  - test::grpc::GetTypeUrl
  - test::grpc::FromProto
  - test::grpc::JsonToProto
  - test::grpc::ProtoToJson
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetStub
  - test::grpc::SetCallConfig
  - test::grpc::VerifyMetadata
  - test::grpc::RandomString
  - test::grpc::CreateEchoRequestText
  - test::grpc::GetStatusAggregationKey
  - test::grpc::Echo::Start
  - test::grpc::Echo::Echo
  - test::grpc::EchoReport::Start
  - test::grpc::EchoReport::EchoReport
  - test::grpc::EchoStream::Start
  - test::grpc::EchoStream::EchoStream
  - test::grpc::EchoStream::StartWrite
  - test::grpc::EchoStream::StartRead
  - test::grpc::EchoStream::StartDone
  - test::grpc::EchoStream::StartFinish
  - test::grpc::Parallel::Start
  - test::grpc::Parallel::Parallel
  - test::grpc::Parallel::GetWeightSum
  - test::grpc::Parallel::StartTests
  - test::grpc::Parallel::StartTestsLocked
  - test::grpc::Parallel::NextSubtestType
  - test::grpc::Parallel::CalculateStats
  - test::grpc::Parallel::AggregatedStatus::AggregatedStatus
  - test::grpc::Parallel::AggregatedStatus::Inc
  - test::grpc::Parallel::AggregatedStatus::Fill
  - test::grpc::Parallel::AddFailure
  - test::grpc::ProbeCallLimit::Start
  - test::grpc::ProbeCallLimit::ProbeCallLimit
  - test::grpc::ProbeCallLimit::StartReadCorkState
  - test::grpc::ProbeCallLimit::StartProbe
  - test::grpc::ProbeCallLimit::OnTimeout
  - test::grpc::ProbeDownstreamMessageLimit::Start
  - test::grpc::ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
  - test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
  - test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
  - test::grpc::ProbeDownstreamMessageLimit::StartProbe
  - test::grpc::ProbeDownstreamMessageLimit::OnTimeout
  - test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
  - test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
  - test::grpc::ProbeUpstreamMessageLimit::Start
  - test::grpc::ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
  - test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
  - test::grpc::ProbeUpstreamMessageLimit::StartProbe
  - test::grpc::ProbeUpstreamMessageLimit::OnTimeout
  - test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
  - test::grpc::RunSync
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetStub
  - test::grpc::SetCallConfig
  - test::grpc::VerifyMetadata
  - test::grpc::RandomString
  - test::grpc::CreateEchoRequestText
  - test::grpc::GetStatusAggregationKey
  - test::grpc::Echo::Start
  - test::grpc::Echo::Echo
  - test::grpc::EchoReport::Start
  - test::grpc::EchoReport::EchoReport
  - test::grpc::EchoStream::Start
  - test::grpc::EchoStream::EchoStream
  - test::grpc::EchoStream::StartWrite
  - test::grpc::EchoStream::StartRead
  - test::grpc::EchoStream::StartDone
  - test::grpc::EchoStream::StartFinish
  - test::grpc::Parallel::Start
  - test::grpc::Parallel::Parallel
  - test::grpc::Parallel::GetWeightSum
  - test::grpc::Parallel::StartTests
  - test::grpc::Parallel::StartTestsLocked
  - test::grpc::Parallel::NextSubtestType
  - test::grpc::Parallel::CalculateStats
  - test::grpc::Parallel::AggregatedStatus::AggregatedStatus
  - test::grpc::Parallel::AggregatedStatus::Inc
  - test::grpc::Parallel::AggregatedStatus::Fill
  - test::grpc::Parallel::AddFailure
  - test::grpc::ProbeCallLimit::Start
  - test::grpc::ProbeCallLimit::ProbeCallLimit
  - test::grpc::ProbeCallLimit::StartReadCorkState
  - test::grpc::ProbeCallLimit::StartProbe
  - test::grpc::ProbeCallLimit::OnTimeout
  - test::grpc::ProbeDownstreamMessageLimit::Start
  - test::grpc::ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
  - test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
  - test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
  - test::grpc::ProbeDownstreamMessageLimit::StartProbe
  - test::grpc::ProbeDownstreamMessageLimit::OnTimeout
  - test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
  - test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
  - test::grpc::ProbeUpstreamMessageLimit::Start
  - test::grpc::ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
  - test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
  - test::grpc::ProbeUpstreamMessageLimit::StartProbe
  - test::grpc::ProbeUpstreamMessageLimit::OnTimeout
  - test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
  - test::grpc::RunSync
  - test::grpc::RunTestPlans
  - test::grpc::CreateTypeResolver
  - test::grpc::GetTypeResolver
  - test::grpc::GetTypeUrl
  - test::grpc::FromProto
  - test::grpc::CreateTypeResolver
  - test::grpc::GetTypeResolver
  - test::grpc::GetTypeUrl
  - test::grpc::FromProto
  - test::grpc::JsonToProto
  - test::grpc::ProtoToJson
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetStub
  - test::grpc::SetCallConfig
  - test::grpc::VerifyMetadata
  - test::grpc::RandomString
  - test::grpc::CreateEchoRequestText
  - test::grpc::GetStatusAggregationKey
  - test::grpc::Echo::Start
  - test::grpc::Echo::Echo
  - test::grpc::EchoReport::Start
  - test::grpc::EchoReport::EchoReport
  - test::grpc::EchoStream::Start
  - test::grpc::EchoStream::EchoStream
  - test::grpc::EchoStream::StartWrite
  - test::grpc::EchoStream::StartRead
  - test::grpc::EchoStream::StartDone
  - test::grpc::EchoStream::StartFinish
  - test::grpc::Parallel::Start
  - test::grpc::Parallel::Parallel
  - test::grpc::Parallel::GetWeightSum
  - test::grpc::Parallel::StartTests
  - test::grpc::Parallel::StartTestsLocked
  - test::grpc::Parallel::NextSubtestType
  - test::grpc::Parallel::CalculateStats
  - test::grpc::Parallel::AggregatedStatus::AggregatedStatus
  - test::grpc::Parallel::AggregatedStatus::Inc
  - test::grpc::Parallel::AggregatedStatus::Fill
  - test::grpc::Parallel::AddFailure
  - test::grpc::ProbeCallLimit::Start
  - test::grpc::ProbeCallLimit::ProbeCallLimit
  - test::grpc::ProbeCallLimit::StartReadCorkState
  - test::grpc::ProbeCallLimit::StartProbe
  - test::grpc::ProbeCallLimit::OnTimeout
  - test::grpc::ProbeDownstreamMessageLimit::Start
  - test::grpc::ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
  - test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
  - test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
  - test::grpc::ProbeDownstreamMessageLimit::StartProbe
  - test::grpc::ProbeDownstreamMessageLimit::OnTimeout
  - test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
  - test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
  - test::grpc::ProbeUpstreamMessageLimit::Start
  - test::grpc::ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
  - test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
  - test::grpc::ProbeUpstreamMessageLimit::StartProbe
  - test::grpc::ProbeUpstreamMessageLimit::OnTimeout
  - test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
  - test::grpc::RunSync
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetStub
  - test::grpc::SetCallConfig
  - test::grpc::VerifyMetadata
  - test::grpc::RandomString
  - test::grpc::CreateEchoRequestText
  - test::grpc::GetStatusAggregationKey
  - test::grpc::Echo::Start
  - test::grpc::Echo::Echo
  - test::grpc::EchoReport::Start
  - test::grpc::EchoReport::EchoReport
  - test::grpc::EchoStream::Start
  - test::grpc::EchoStream::EchoStream
  - test::grpc::EchoStream::StartWrite
  - test::grpc::EchoStream::StartRead
  - test::grpc::EchoStream::StartDone
  - test::grpc::EchoStream::StartFinish
  - test::grpc::Parallel::Start
  - test::grpc::Parallel::Parallel
  - test::grpc::Parallel::GetWeightSum
  - test::grpc::Parallel::StartTests
  - test::grpc::Parallel::StartTestsLocked
  - test::grpc::Parallel::NextSubtestType
  - test::grpc::Parallel::CalculateStats
  - test::grpc::Parallel::AggregatedStatus::AggregatedStatus
  - test::grpc::Parallel::AggregatedStatus::Inc
  - test::grpc::Parallel::AggregatedStatus::Fill
  - test::grpc::Parallel::AddFailure
  - test::grpc::ProbeCallLimit::Start
  - test::grpc::ProbeCallLimit::ProbeCallLimit
  - test::grpc::ProbeCallLimit::StartReadCorkState
  - test::grpc::ProbeCallLimit::StartProbe
  - test::grpc::ProbeCallLimit::OnTimeout
  - test::grpc::ProbeDownstreamMessageLimit::Start
  - test::grpc::ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
  - test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
  - test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
  - test::grpc::ProbeDownstreamMessageLimit::StartProbe
  - test::grpc::ProbeDownstreamMessageLimit::OnTimeout
  - test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
  - test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
  - test::grpc::ProbeUpstreamMessageLimit::Start
  - test::grpc::ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
  - test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
  - test::grpc::ProbeUpstreamMessageLimit::StartProbe
  - test::grpc::ProbeUpstreamMessageLimit::OnTimeout
  - test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
  - test::grpc::RunSync
  - test::grpc::RunTestPlans
  - test::grpc::CreateTypeResolver
  - test::grpc::GetTypeResolver
  - test::grpc::GetTypeUrl
  - test::grpc::FromProto
  - test::grpc::CreateTypeResolver
  - test::grpc::GetTypeResolver
  - test::grpc::GetTypeUrl
  - test::grpc::FromProto
  - test::grpc::JsonToProto
  - test::grpc::ProtoToJson
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetStub
  - test::grpc::SetCallConfig
  - test::grpc::VerifyMetadata
  - test::grpc::RandomString
  - test::grpc::CreateEchoRequestText
  - test::grpc::GetStatusAggregationKey
  - test::grpc::Echo::Start
  - test::grpc::Echo::Echo
  - test::grpc::EchoReport::Start
  - test::grpc::EchoReport::EchoReport
  - test::grpc::EchoStream::Start
  - test::grpc::EchoStream::EchoStream
  - test::grpc::EchoStream::StartWrite
  - test::grpc::EchoStream::StartRead
  - test::grpc::EchoStream::StartDone
  - test::grpc::EchoStream::StartFinish
  - test::grpc::Parallel::Start
  - test::grpc::Parallel::Parallel
  - test::grpc::Parallel::GetWeightSum
  - test::grpc::Parallel::StartTests
  - test::grpc::Parallel::StartTestsLocked
  - test::grpc::Parallel::NextSubtestType
  - test::grpc::Parallel::CalculateStats
  - test::grpc::Parallel::AggregatedStatus::AggregatedStatus
  - test::grpc::Parallel::AggregatedStatus::Inc
  - test::grpc::Parallel::AggregatedStatus::Fill
  - test::grpc::Parallel::AddFailure
  - test::grpc::ProbeCallLimit::Start
  - test::grpc::ProbeCallLimit::ProbeCallLimit
  - test::grpc::ProbeCallLimit::StartReadCorkState
  - test::grpc::ProbeCallLimit::StartProbe
  - test::grpc::ProbeCallLimit::OnTimeout
  - test::grpc::ProbeDownstreamMessageLimit::Start
  - test::grpc::ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
  - test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
  - test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
  - test::grpc::ProbeDownstreamMessageLimit::StartProbe
  - test::grpc::ProbeDownstreamMessageLimit::OnTimeout
  - test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
  - test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
  - test::grpc::ProbeUpstreamMessageLimit::Start
  - test::grpc::ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
  - test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
  - test::grpc::ProbeUpstreamMessageLimit::StartProbe
  - test::grpc::ProbeUpstreamMessageLimit::OnTimeout
  - test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
  - test::grpc::RunSync
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetCreds
  - test::grpc::GetStub
  - test::grpc::SetCallConfig
  - test::grpc::VerifyMetadata
  - test::grpc::RandomString
  - test::grpc::CreateEchoRequestText
  - test::grpc::GetStatusAggregationKey
  - test::grpc::Echo::Start
  - test::grpc::Echo::Echo
  - test::grpc::EchoReport::Start
  - test::grpc::EchoReport::EchoReport
  - test::grpc::EchoStream::Start
  - test::grpc::EchoStream::EchoStream
  - test::grpc::EchoStream::StartWrite
  - test::grpc::EchoStream::StartRead
  - test::grpc::EchoStream::StartDone
  - test::grpc::EchoStream::StartFinish
  - test::grpc::Parallel::Start
  - test::grpc::Parallel::Parallel
  - test::grpc::Parallel::GetWeightSum
  - test::grpc::Parallel::StartTests
  - test::grpc::Parallel::StartTestsLocked
  - test::grpc::Parallel::NextSubtestType
  - test::grpc::Parallel::CalculateStats
  - test::grpc::Parallel::AggregatedStatus::AggregatedStatus
  - test::grpc::Parallel::AggregatedStatus::Inc
  - test::grpc::Parallel::AggregatedStatus::Fill
  - test::grpc::Parallel::AddFailure
  - test::grpc::ProbeCallLimit::Start
  - test::grpc::ProbeCallLimit::ProbeCallLimit
  - test::grpc::ProbeCallLimit::StartReadCorkState
  - test::grpc::ProbeCallLimit::StartProbe
  - test::grpc::ProbeCallLimit::OnTimeout
  - test::grpc::ProbeDownstreamMessageLimit::Start
  - test::grpc::ProbeDownstreamMessageLimit::ProbeDownstreamMessageLimit
  - test::grpc::ProbeDownstreamMessageLimit::StartReadCorkState
  - test::grpc::ProbeDownstreamMessageLimit::StartReadStreamMessages
  - test::grpc::ProbeDownstreamMessageLimit::StartProbe
  - test::grpc::ProbeDownstreamMessageLimit::OnTimeout
  - test::grpc::ProbeDownstreamMessageLimit::StartWritesDone
  - test::grpc::ProbeDownstreamMessageLimit::TryIssueReport
  - test::grpc::ProbeUpstreamMessageLimit::Start
  - test::grpc::ProbeUpstreamMessageLimit::ProbeUpstreamMessageLimit
  - test::grpc::ProbeUpstreamMessageLimit::StartReadStreamMessages
  - test::grpc::ProbeUpstreamMessageLimit::StartProbe
  - test::grpc::ProbeUpstreamMessageLimit::OnTimeout
  - test::grpc::ProbeUpstreamMessageLimit::StartWritesDone
  - test::grpc::RunSync
  - test::grpc::RunTestPlans
  source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: succeeded_count
        type: int
      - name: failed_count
        type: int
      - name: latencies
        type: std::forward_list<std::chrono::microseconds>
      - name: failures
        type: std::map<std::string, AggregatedStatus>
      item_type: struct
      name: SubtestStats
      pos:
        line_end: 705
        line_start: 690
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    - fields:
      - name: succeeded_count
        type: int
      - name: failed_count
        type: int
      - name: latencies
        type: std::forward_list<std::chrono::microseconds>
      - name: failures
        type: std::map<std::string, AggregatedStatus>
      item_type: struct
      name: SubtestStats
      pos:
        line_end: 705
        line_start: 690
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    - fields:
      - name: succeeded_count
        type: int
      - name: failed_count
        type: int
      - name: latencies
        type: std::forward_list<std::chrono::microseconds>
      - name: failures
        type: std::map<std::string, AggregatedStatus>
      item_type: struct
      name: SubtestStats
      pos:
        line_end: 705
        line_start: 690
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    - fields:
      - name: succeeded_count
        type: int
      - name: failed_count
        type: int
      - name: latencies
        type: std::forward_list<std::chrono::microseconds>
      - name: failures
        type: std::map<std::string, AggregatedStatus>
      item_type: struct
      name: SubtestStats
      pos:
        line_end: 705
        line_start: 690
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    - fields:
      - name: succeeded_count
        type: int
      - name: failed_count
        type: int
      - name: latencies
        type: std::forward_list<std::chrono::microseconds>
      - name: failures
        type: std::map<std::string, AggregatedStatus>
      item_type: struct
      name: SubtestStats
      pos:
        line_end: 705
        line_start: 690
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    - fields:
      - name: succeeded_count
        type: int
      - name: failed_count
        type: int
      - name: latencies
        type: std::forward_list<std::chrono::microseconds>
      - name: failures
        type: std::map<std::string, AggregatedStatus>
      item_type: struct
      name: SubtestStats
      pos:
        line_end: 705
        line_start: 690
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    - fields:
      - name: succeeded_count
        type: int
      - name: failed_count
        type: int
      - name: latencies
        type: std::forward_list<std::chrono::microseconds>
      - name: failures
        type: std::map<std::string, AggregatedStatus>
      item_type: struct
      name: SubtestStats
      pos:
        line_end: 705
        line_start: 690
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    - fields:
      - name: succeeded_count
        type: int
      - name: failed_count
        type: int
      - name: latencies
        type: std::forward_list<std::chrono::microseconds>
      - name: failures
        type: std::map<std::string, AggregatedStatus>
      item_type: struct
      name: SubtestStats
      pos:
        line_end: 705
        line_start: 690
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
    typedefs:
    - item_type: typedef
      name: Tag
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: function<void(bool)>
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: EchoTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: EchoReportTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: EchoStreamTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 511
        line_start: 511
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ParallelTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 724
        line_start: 724
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ProbeCallLimitTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 856
        line_start: 856
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ProbeDownstreamMessageLimitTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 1024
        line_start: 1024
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ProbeUpstreamMessageLimitTest
    - item_type: typedef
      name: Tag
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: function<void(bool)>
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: EchoTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: EchoReportTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: EchoStreamTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 511
        line_start: 511
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ParallelTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 724
        line_start: 724
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ProbeCallLimitTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 856
        line_start: 856
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ProbeDownstreamMessageLimitTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 1024
        line_start: 1024
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ProbeUpstreamMessageLimitTest
    - item_type: typedef
      name: Tag
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: function<void(bool)>
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: EchoTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: EchoReportTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: EchoStreamTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 511
        line_start: 511
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ParallelTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 724
        line_start: 724
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ProbeCallLimitTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 856
        line_start: 856
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ProbeDownstreamMessageLimitTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 1024
        line_start: 1024
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ProbeUpstreamMessageLimitTest
    - item_type: typedef
      name: Tag
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: function<void(bool)>
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: EchoTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: EchoReportTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: EchoStreamTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 511
        line_start: 511
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ParallelTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 724
        line_start: 724
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ProbeCallLimitTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 856
        line_start: 856
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ProbeDownstreamMessageLimitTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 1024
        line_start: 1024
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ProbeUpstreamMessageLimitTest
    - item_type: typedef
      name: Tag
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: function<void(bool)>
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: EchoTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: EchoReportTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: EchoStreamTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 511
        line_start: 511
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ParallelTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 724
        line_start: 724
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ProbeCallLimitTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 856
        line_start: 856
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ProbeDownstreamMessageLimitTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 1024
        line_start: 1024
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ProbeUpstreamMessageLimitTest
    - item_type: typedef
      name: Tag
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: function<void(bool)>
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: EchoTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: EchoReportTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: EchoStreamTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 511
        line_start: 511
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ParallelTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 724
        line_start: 724
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ProbeCallLimitTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 856
        line_start: 856
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ProbeDownstreamMessageLimitTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 1024
        line_start: 1024
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ProbeUpstreamMessageLimitTest
    - item_type: typedef
      name: Tag
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: function<void(bool)>
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: EchoTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: EchoReportTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: EchoStreamTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 511
        line_start: 511
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ParallelTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 724
        line_start: 724
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ProbeCallLimitTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 856
        line_start: 856
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ProbeDownstreamMessageLimitTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 1024
        line_start: 1024
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ProbeUpstreamMessageLimitTest
    - item_type: typedef
      name: Tag
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: function<void(bool)>
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: EchoTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: EchoReportTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: EchoStreamTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 511
        line_start: 511
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ParallelTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 724
        line_start: 724
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ProbeCallLimitTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 856
        line_start: 856
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ProbeDownstreamMessageLimitTest
    - item_type: typedef
      name: TestDesc
      pos:
        line_end: 1024
        line_start: 1024
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/client-test-lib.cc
      type: ProbeUpstreamMessageLimitTest
    union: []
- function_names:
  - test::grpc::MakeTag
  - ~CorkableCall()
  - test::grpc::TestServer::completion_queue
  - '&pending_calls()'
  - test::grpc::TestServer::clear_pending_cork
  - test::grpc::EchoCall::EchoCall
  - test::grpc::EchoCall::Start
  - test::grpc::EchoCall::RunToCompletion
  - test::grpc::EchoReportCall::EchoReportCall
  - test::grpc::EchoReportCall::Start
  - test::grpc::EchoReportCall::RunToCompletion
  - test::grpc::EchoStreamCall::EchoStreamCall
  - test::grpc::EchoStreamCall::Start
  - test::grpc::EchoStreamCall::RunToCompletion
  - test::grpc::EchoStreamCall::StartRead
  - test::grpc::EchoStreamCall::StartWrite
  - test::grpc::EchoStreamCall::StartFinish
  - test::grpc::CorkCall::CorkCall
  - test::grpc::CorkCall::Start
  - test::grpc::CorkCall::StartRead
  - test::grpc::CorkCall::ReportState
  - test::grpc::CorkCall::StartFinish
  - test::grpc::TestServer::Uncork
  - test::grpc::TestServer::QueuePendingCall
  - test::grpc::TestServer::StartEcho
  - test::grpc::TestServer::StartEchoReport
  - test::grpc::TestServer::StartEchoStream
  - test::grpc::TestServer::StartCork
  - test::grpc::TestServer::Run
  - test::grpc::MakeTag
  - ~CorkableCall()
  - test::grpc::TestServer::completion_queue
  - '&pending_calls()'
  - test::grpc::TestServer::clear_pending_cork
  - test::grpc::EchoCall::EchoCall
  - test::grpc::EchoCall::Start
  - test::grpc::EchoCall::RunToCompletion
  - test::grpc::EchoReportCall::EchoReportCall
  - test::grpc::EchoReportCall::Start
  - test::grpc::EchoReportCall::RunToCompletion
  - test::grpc::EchoStreamCall::EchoStreamCall
  - test::grpc::EchoStreamCall::Start
  - test::grpc::EchoStreamCall::RunToCompletion
  - test::grpc::EchoStreamCall::StartRead
  - test::grpc::EchoStreamCall::StartWrite
  - test::grpc::EchoStreamCall::StartFinish
  - test::grpc::CorkCall::CorkCall
  - test::grpc::CorkCall::Start
  - test::grpc::CorkCall::StartRead
  - test::grpc::CorkCall::ReportState
  - test::grpc::CorkCall::StartFinish
  - test::grpc::TestServer::Uncork
  - test::grpc::TestServer::QueuePendingCall
  - test::grpc::TestServer::StartEcho
  - test::grpc::TestServer::StartEchoReport
  - test::grpc::TestServer::StartEchoStream
  - test::grpc::TestServer::StartCork
  - test::grpc::TestServer::Run
  - test::grpc::MakeTag
  - ~CorkableCall()
  - test::grpc::TestServer::completion_queue
  - '&pending_calls()'
  - test::grpc::TestServer::clear_pending_cork
  - test::grpc::EchoCall::EchoCall
  - test::grpc::EchoCall::Start
  - test::grpc::EchoCall::RunToCompletion
  - test::grpc::EchoReportCall::EchoReportCall
  - test::grpc::EchoReportCall::Start
  - test::grpc::EchoReportCall::RunToCompletion
  - test::grpc::EchoStreamCall::EchoStreamCall
  - test::grpc::EchoStreamCall::Start
  - test::grpc::EchoStreamCall::RunToCompletion
  - test::grpc::EchoStreamCall::StartRead
  - test::grpc::EchoStreamCall::StartWrite
  - test::grpc::EchoStreamCall::StartFinish
  - test::grpc::CorkCall::CorkCall
  - test::grpc::CorkCall::Start
  - test::grpc::CorkCall::StartRead
  - test::grpc::CorkCall::ReportState
  - test::grpc::CorkCall::StartFinish
  - test::grpc::TestServer::Uncork
  - test::grpc::TestServer::QueuePendingCall
  - test::grpc::TestServer::StartEcho
  - test::grpc::TestServer::StartEchoReport
  - test::grpc::TestServer::StartEchoStream
  - test::grpc::TestServer::StartCork
  - test::grpc::TestServer::Run
  - test::grpc::MakeTag
  - ~CorkableCall()
  - test::grpc::TestServer::completion_queue
  - '&pending_calls()'
  - test::grpc::TestServer::clear_pending_cork
  - test::grpc::EchoCall::EchoCall
  - test::grpc::EchoCall::Start
  - test::grpc::EchoCall::RunToCompletion
  - test::grpc::EchoReportCall::EchoReportCall
  - test::grpc::EchoReportCall::Start
  - test::grpc::EchoReportCall::RunToCompletion
  - test::grpc::EchoStreamCall::EchoStreamCall
  - test::grpc::EchoStreamCall::Start
  - test::grpc::EchoStreamCall::RunToCompletion
  - test::grpc::EchoStreamCall::StartRead
  - test::grpc::EchoStreamCall::StartWrite
  - test::grpc::EchoStreamCall::StartFinish
  - test::grpc::CorkCall::CorkCall
  - test::grpc::CorkCall::Start
  - test::grpc::CorkCall::StartRead
  - test::grpc::CorkCall::ReportState
  - test::grpc::CorkCall::StartFinish
  - test::grpc::TestServer::Uncork
  - test::grpc::TestServer::QueuePendingCall
  - test::grpc::TestServer::StartEcho
  - test::grpc::TestServer::StartEchoReport
  - test::grpc::TestServer::StartEchoStream
  - test::grpc::TestServer::StartCork
  - test::grpc::TestServer::Run
  - main
  source_file: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: Tag
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
      type: function<void(bool)>
    - item_type: typedef
      name: Tag
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
      type: function<void(bool)>
    - item_type: typedef
      name: Tag
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
      type: function<void(bool)>
    - item_type: typedef
      name: Tag
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/esp-v2/tests/endpoints/grpc_echo/grpc-test-server.cc
      type: function<void(bool)>
    union: []
- function_names:
  - operator==(const VariableBinding& b1, const VariableBinding& b2)
  - ~PathMatcher()
  - ~PathMatcherBuilder()
  - espv2::api_proxy::path_matcher::PathMatcher<Method>::PathMatcher
  - espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
  - espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
  - espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
  - espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Build
  - espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Register
  - operator==(const VariableBinding& b1, const VariableBinding& b2)
  - ~PathMatcher()
  - ~PathMatcherBuilder()
  - espv2::api_proxy::path_matcher::PathMatcher<Method>::PathMatcher
  - espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
  - espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
  - espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
  - espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Build
  - espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Register
  - operator==(const VariableBinding& b1, const VariableBinding& b2)
  - ~PathMatcher()
  - ~PathMatcherBuilder()
  - espv2::api_proxy::path_matcher::PathMatcher<Method>::PathMatcher
  - espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
  - espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
  - espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
  - espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Build
  - espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Register
  - operator==(const VariableBinding& b1, const VariableBinding& b2)
  - ~PathMatcher()
  - ~PathMatcherBuilder()
  - espv2::api_proxy::path_matcher::PathMatcher<Method>::PathMatcher
  - espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
  - espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
  - espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
  - espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Build
  - espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Register
  - operator==(const VariableBinding& b1, const VariableBinding& b2)
  - ~PathMatcher()
  - ~PathMatcherBuilder()
  - espv2::api_proxy::path_matcher::PathMatcher<Method>::PathMatcher
  - espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
  - espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
  - espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
  - espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Build
  - espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Register
  - operator==(const VariableBinding& b1, const VariableBinding& b2)
  - ~PathMatcher()
  - ~PathMatcherBuilder()
  - espv2::api_proxy::path_matcher::PathMatcher<Method>::PathMatcher
  - espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
  - espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
  - espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
  - espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Build
  - espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Register
  - operator==(const VariableBinding& b1, const VariableBinding& b2)
  - ~PathMatcher()
  - ~PathMatcherBuilder()
  - espv2::api_proxy::path_matcher::PathMatcher<Method>::PathMatcher
  - espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
  - espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
  - espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
  - espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Build
  - espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Register
  - operator==(const VariableBinding& b1, const VariableBinding& b2)
  - ~PathMatcher()
  - ~PathMatcherBuilder()
  - espv2::api_proxy::path_matcher::PathMatcher<Method>::PathMatcher
  - espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
  - espv2::api_proxy::path_matcher::PathMatcher<Method>::Lookup
  - espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
  - espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Build
  - espv2::api_proxy::path_matcher::PathMatcherBuilder<Method>::Register
  source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: field_path
        type: std::vector<std::string>
      - name: value
        type: std::string
      item_type: struct
      name: VariableBinding
      pos:
        line_end: 41
        line_start: 34
        source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    - fields:
      - name: method
        type: Method
      - name: variables
        type: std::vector<HttpTemplate::Variable>
      - name: body_field_path
        type: std::string
      item_type: struct
      name: MethodData
      pos:
        line_end: 91
        line_start: 87
        source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    - fields:
      - name: field_path
        type: std::vector<std::string>
      - name: value
        type: std::string
      item_type: struct
      name: VariableBinding
      pos:
        line_end: 41
        line_start: 34
        source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    - fields:
      - name: method
        type: Method
      - name: variables
        type: std::vector<HttpTemplate::Variable>
      - name: body_field_path
        type: std::string
      item_type: struct
      name: MethodData
      pos:
        line_end: 91
        line_start: 87
        source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    - fields:
      - name: field_path
        type: std::vector<std::string>
      - name: value
        type: std::string
      item_type: struct
      name: VariableBinding
      pos:
        line_end: 41
        line_start: 34
        source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    - fields:
      - name: method
        type: Method
      - name: variables
        type: std::vector<HttpTemplate::Variable>
      - name: body_field_path
        type: std::string
      item_type: struct
      name: MethodData
      pos:
        line_end: 91
        line_start: 87
        source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    - fields:
      - name: field_path
        type: std::vector<std::string>
      - name: value
        type: std::string
      item_type: struct
      name: VariableBinding
      pos:
        line_end: 41
        line_start: 34
        source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    - fields:
      - name: method
        type: Method
      - name: variables
        type: std::vector<HttpTemplate::Variable>
      - name: body_field_path
        type: std::string
      item_type: struct
      name: MethodData
      pos:
        line_end: 91
        line_start: 87
        source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    - fields:
      - name: field_path
        type: std::vector<std::string>
      - name: value
        type: std::string
      item_type: struct
      name: VariableBinding
      pos:
        line_end: 41
        line_start: 34
        source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    - fields:
      - name: method
        type: Method
      - name: variables
        type: std::vector<HttpTemplate::Variable>
      - name: body_field_path
        type: std::string
      item_type: struct
      name: MethodData
      pos:
        line_end: 91
        line_start: 87
        source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    - fields:
      - name: field_path
        type: std::vector<std::string>
      - name: value
        type: std::string
      item_type: struct
      name: VariableBinding
      pos:
        line_end: 41
        line_start: 34
        source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    - fields:
      - name: method
        type: Method
      - name: variables
        type: std::vector<HttpTemplate::Variable>
      - name: body_field_path
        type: std::string
      item_type: struct
      name: MethodData
      pos:
        line_end: 91
        line_start: 87
        source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    - fields:
      - name: field_path
        type: std::vector<std::string>
      - name: value
        type: std::string
      item_type: struct
      name: VariableBinding
      pos:
        line_end: 41
        line_start: 34
        source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    - fields:
      - name: method
        type: Method
      - name: variables
        type: std::vector<HttpTemplate::Variable>
      - name: body_field_path
        type: std::string
      item_type: struct
      name: MethodData
      pos:
        line_end: 91
        line_start: 87
        source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    - fields:
      - name: field_path
        type: std::vector<std::string>
      - name: value
        type: std::string
      item_type: struct
      name: VariableBinding
      pos:
        line_end: 41
        line_start: 34
        source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    - fields:
      - name: method
        type: Method
      - name: variables
        type: std::vector<HttpTemplate::Variable>
      - name: body_field_path
        type: std::string
      item_type: struct
      name: MethodData
      pos:
        line_end: 91
        line_start: 87
        source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::api_proxy::path_matcher::ExtractBindingsFromPath
  - espv2::api_proxy::path_matcher::ExtractRequestParts
  - espv2::api_proxy::path_matcher::LookupInPathMatcherNode
  - espv2::api_proxy::path_matcher::TransformHttpTemplate
  - espv2::api_proxy::path_matcher::ExtractBindingsFromPath
  - espv2::api_proxy::path_matcher::ExtractRequestParts
  - espv2::api_proxy::path_matcher::LookupInPathMatcherNode
  - espv2::api_proxy::path_matcher::TransformHttpTemplate
  - espv2::api_proxy::path_matcher::ExtractBindingsFromPath
  - espv2::api_proxy::path_matcher::ExtractRequestParts
  - espv2::api_proxy::path_matcher::LookupInPathMatcherNode
  - espv2::api_proxy::path_matcher::TransformHttpTemplate
  - espv2::api_proxy::path_matcher::ExtractBindingsFromPath
  - espv2::api_proxy::path_matcher::ExtractRequestParts
  - espv2::api_proxy::path_matcher::LookupInPathMatcherNode
  - espv2::api_proxy::path_matcher::TransformHttpTemplate
  - espv2::api_proxy::path_matcher::ExtractBindingsFromPath
  - espv2::api_proxy::path_matcher::ExtractRequestParts
  - espv2::api_proxy::path_matcher::LookupInPathMatcherNode
  - espv2::api_proxy::path_matcher::TransformHttpTemplate
  - espv2::api_proxy::path_matcher::ExtractBindingsFromPath
  - espv2::api_proxy::path_matcher::ExtractRequestParts
  - espv2::api_proxy::path_matcher::LookupInPathMatcherNode
  - espv2::api_proxy::path_matcher::TransformHttpTemplate
  - espv2::api_proxy::path_matcher::ExtractBindingsFromPath
  - espv2::api_proxy::path_matcher::ExtractRequestParts
  - espv2::api_proxy::path_matcher::LookupInPathMatcherNode
  - espv2::api_proxy::path_matcher::TransformHttpTemplate
  - espv2::api_proxy::path_matcher::ExtractBindingsFromPath
  - espv2::api_proxy::path_matcher::ExtractRequestParts
  - espv2::api_proxy::path_matcher::LookupInPathMatcherNode
  - espv2::api_proxy::path_matcher::TransformHttpTemplate
  source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::api_proxy::path_matcher::PathMatcherLookupResult
  - espv2::api_proxy::path_matcher::PathMatcherLookupResult
  - espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::Builder::Builder
  - ~Builder()
  - ~PathInfo()
  - '& path_info() const'
  - espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
  - espv2::api_proxy::path_matcher::PathMatcherNode::PathMatcherNode
  - espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
  - espv2::api_proxy::path_matcher::PathMatcherLookupResult
  - espv2::api_proxy::path_matcher::PathMatcherLookupResult
  - espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::Builder::Builder
  - ~Builder()
  - ~PathInfo()
  - '& path_info() const'
  - espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
  - espv2::api_proxy::path_matcher::PathMatcherNode::PathMatcherNode
  - espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
  - espv2::api_proxy::path_matcher::PathMatcherLookupResult
  - espv2::api_proxy::path_matcher::PathMatcherLookupResult
  - espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::Builder::Builder
  - ~Builder()
  - ~PathInfo()
  - '& path_info() const'
  - espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
  - espv2::api_proxy::path_matcher::PathMatcherNode::PathMatcherNode
  - espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
  - espv2::api_proxy::path_matcher::PathMatcherLookupResult
  - espv2::api_proxy::path_matcher::PathMatcherLookupResult
  - espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::Builder::Builder
  - ~Builder()
  - ~PathInfo()
  - '& path_info() const'
  - espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
  - espv2::api_proxy::path_matcher::PathMatcherNode::PathMatcherNode
  - espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
  - espv2::api_proxy::path_matcher::PathMatcherLookupResult
  - espv2::api_proxy::path_matcher::PathMatcherLookupResult
  - espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::Builder::Builder
  - ~Builder()
  - ~PathInfo()
  - '& path_info() const'
  - espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
  - espv2::api_proxy::path_matcher::PathMatcherNode::PathMatcherNode
  - espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
  - espv2::api_proxy::path_matcher::PathMatcherLookupResult
  - espv2::api_proxy::path_matcher::PathMatcherLookupResult
  - espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::Builder::Builder
  - ~Builder()
  - ~PathInfo()
  - '& path_info() const'
  - espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
  - espv2::api_proxy::path_matcher::PathMatcherNode::PathMatcherNode
  - espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
  - espv2::api_proxy::path_matcher::PathMatcherLookupResult
  - espv2::api_proxy::path_matcher::PathMatcherLookupResult
  - espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::Builder::Builder
  - ~Builder()
  - ~PathInfo()
  - '& path_info() const'
  - espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
  - espv2::api_proxy::path_matcher::PathMatcherNode::PathMatcherNode
  - espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
  - espv2::api_proxy::path_matcher::PathMatcherLookupResult
  - espv2::api_proxy::path_matcher::PathMatcherLookupResult
  - espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::Builder::Builder
  - ~Builder()
  - ~PathInfo()
  - '& path_info() const'
  - espv2::api_proxy::path_matcher::PathMatcherNode::PathInfo::PathInfo
  - espv2::api_proxy::path_matcher::PathMatcherNode::PathMatcherNode
  - espv2::api_proxy::path_matcher::PathMatcherNode::set_wildcard
  source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* data'
        type: void
      - name: is_multiple
        type: bool
      item_type: struct
      name: PathMatcherLookupResult
      pos:
        line_end: 38
        line_start: 28
        source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    - fields:
      - name: '* data'
        type: void
      - name: is_multiple
        type: bool
      item_type: struct
      name: PathMatcherLookupResult
      pos:
        line_end: 38
        line_start: 28
        source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    - fields:
      - name: '* data'
        type: void
      - name: is_multiple
        type: bool
      item_type: struct
      name: PathMatcherLookupResult
      pos:
        line_end: 38
        line_start: 28
        source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    - fields:
      - name: '* data'
        type: void
      - name: is_multiple
        type: bool
      item_type: struct
      name: PathMatcherLookupResult
      pos:
        line_end: 38
        line_start: 28
        source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    - fields:
      - name: '* data'
        type: void
      - name: is_multiple
        type: bool
      item_type: struct
      name: PathMatcherLookupResult
      pos:
        line_end: 38
        line_start: 28
        source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    - fields:
      - name: '* data'
        type: void
      - name: is_multiple
        type: bool
      item_type: struct
      name: PathMatcherLookupResult
      pos:
        line_end: 38
        line_start: 28
        source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    - fields:
      - name: '* data'
        type: void
      - name: is_multiple
        type: bool
      item_type: struct
      name: PathMatcherLookupResult
      pos:
        line_end: 38
        line_start: 28
        source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    - fields:
      - name: '* data'
        type: void
      - name: is_multiple
        type: bool
      item_type: struct
      name: PathMatcherLookupResult
      pos:
        line_end: 38
        line_start: 28
        source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.h
    typedefs: []
    union: []
- function_names:
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::LookupOrInsertNew
  - espv2::api_proxy::path_matcher::Find2KeysOrNull
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::LookupOrInsertNew
  - espv2::api_proxy::path_matcher::Find2KeysOrNull
  - '&

    PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - '&

    PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - PathMatcherNode::PathInfo::Builder::Build() const
  - PathMatcherNode::~PathMatcherNode()
  - espv2::api_proxy::path_matcher::PathMatcherNode::Clone
  - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
  - espv2::api_proxy::path_matcher::PathMatcherNode::InsertPath
  - espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
  - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
  - espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::LookupOrInsertNew
  - espv2::api_proxy::path_matcher::Find2KeysOrNull
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::LookupOrInsertNew
  - espv2::api_proxy::path_matcher::Find2KeysOrNull
  - '&

    PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - '&

    PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - PathMatcherNode::PathInfo::Builder::Build() const
  - PathMatcherNode::~PathMatcherNode()
  - espv2::api_proxy::path_matcher::PathMatcherNode::Clone
  - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
  - espv2::api_proxy::path_matcher::PathMatcherNode::InsertPath
  - espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
  - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
  - espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::LookupOrInsertNew
  - espv2::api_proxy::path_matcher::Find2KeysOrNull
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::LookupOrInsertNew
  - espv2::api_proxy::path_matcher::Find2KeysOrNull
  - '&

    PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - '&

    PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - PathMatcherNode::PathInfo::Builder::Build() const
  - PathMatcherNode::~PathMatcherNode()
  - espv2::api_proxy::path_matcher::PathMatcherNode::Clone
  - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
  - espv2::api_proxy::path_matcher::PathMatcherNode::InsertPath
  - espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
  - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
  - espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::LookupOrInsertNew
  - espv2::api_proxy::path_matcher::Find2KeysOrNull
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::LookupOrInsertNew
  - espv2::api_proxy::path_matcher::Find2KeysOrNull
  - '&

    PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - '&

    PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - PathMatcherNode::PathInfo::Builder::Build() const
  - PathMatcherNode::~PathMatcherNode()
  - espv2::api_proxy::path_matcher::PathMatcherNode::Clone
  - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
  - espv2::api_proxy::path_matcher::PathMatcherNode::InsertPath
  - espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
  - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
  - espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::LookupOrInsertNew
  - espv2::api_proxy::path_matcher::Find2KeysOrNull
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::LookupOrInsertNew
  - espv2::api_proxy::path_matcher::Find2KeysOrNull
  - '&

    PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - '&

    PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - PathMatcherNode::PathInfo::Builder::Build() const
  - PathMatcherNode::~PathMatcherNode()
  - espv2::api_proxy::path_matcher::PathMatcherNode::Clone
  - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
  - espv2::api_proxy::path_matcher::PathMatcherNode::InsertPath
  - espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
  - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
  - espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::LookupOrInsertNew
  - espv2::api_proxy::path_matcher::Find2KeysOrNull
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::LookupOrInsertNew
  - espv2::api_proxy::path_matcher::Find2KeysOrNull
  - '&

    PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - '&

    PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - PathMatcherNode::PathInfo::Builder::Build() const
  - PathMatcherNode::~PathMatcherNode()
  - espv2::api_proxy::path_matcher::PathMatcherNode::Clone
  - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
  - espv2::api_proxy::path_matcher::PathMatcherNode::InsertPath
  - espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
  - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
  - espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::LookupOrInsertNew
  - espv2::api_proxy::path_matcher::Find2KeysOrNull
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::LookupOrInsertNew
  - espv2::api_proxy::path_matcher::Find2KeysOrNull
  - '&

    PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - '&

    PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - PathMatcherNode::PathInfo::Builder::Build() const
  - PathMatcherNode::~PathMatcherNode()
  - espv2::api_proxy::path_matcher::PathMatcherNode::Clone
  - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
  - espv2::api_proxy::path_matcher::PathMatcherNode::InsertPath
  - espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
  - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
  - espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::LookupOrInsertNew
  - espv2::api_proxy::path_matcher::Find2KeysOrNull
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::InsertOrReturnExisting
  - espv2::api_proxy::path_matcher::LookupOrInsertNew
  - espv2::api_proxy::path_matcher::Find2KeysOrNull
  - '&

    PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - '&

    PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - PathMatcherNode::PathInfo::Builder::Build() const
  - PathMatcherNode::~PathMatcherNode()
  - espv2::api_proxy::path_matcher::PathMatcherNode::Clone
  - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPath
  - espv2::api_proxy::path_matcher::PathMatcherNode::InsertPath
  - espv2::api_proxy::path_matcher::PathMatcherNode::InsertTemplate
  - espv2::api_proxy::path_matcher::PathMatcherNode::LookupPathFromChild
  - espv2::api_proxy::path_matcher::PathMatcherNode::GetResultForHttpMethod
  source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_node.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
  - espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
  - espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
  - espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
  - espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
  - espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
  - espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
  - espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
  - espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
  - espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
  - espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
  - espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
  - espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
  - espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
  - espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
  - espv2::api_proxy::path_matcher::fuzz::DEFINE_PROTO_FUZZER
  source_file: /src/esp-v2/src/api_proxy/path_matcher/http_template_fuzz_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  source_file: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - '& segments() const'
  - '& verb() const'
  - '& Variables()'
  - espv2::api_proxy::path_matcher::HttpTemplate::HttpTemplate
  - '& segments() const'
  - '& verb() const'
  - '& Variables()'
  - espv2::api_proxy::path_matcher::HttpTemplate::HttpTemplate
  - '& segments() const'
  - '& verb() const'
  - '& Variables()'
  - espv2::api_proxy::path_matcher::HttpTemplate::HttpTemplate
  - '& segments() const'
  - '& verb() const'
  - '& Variables()'
  - espv2::api_proxy::path_matcher::HttpTemplate::HttpTemplate
  - '& segments() const'
  - '& verb() const'
  - '& Variables()'
  - espv2::api_proxy::path_matcher::HttpTemplate::HttpTemplate
  - '& segments() const'
  - '& verb() const'
  - '& Variables()'
  - espv2::api_proxy::path_matcher::HttpTemplate::HttpTemplate
  - '& segments() const'
  - '& verb() const'
  - '& Variables()'
  - espv2::api_proxy::path_matcher::HttpTemplate::HttpTemplate
  - '& segments() const'
  - '& verb() const'
  - '& Variables()'
  - espv2::api_proxy::path_matcher::HttpTemplate::HttpTemplate
  source_file: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: start_segment
        type: int
      - name: end_segment
        type: int
      - name: field_path
        type: std::vector<std::string>
      - name: has_wildcard_path
        type: bool
      item_type: struct
      name: Variable
      pos:
        line_end: 44
        line_start: 30
        source_file: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    - fields:
      - name: start_segment
        type: int
      - name: end_segment
        type: int
      - name: field_path
        type: std::vector<std::string>
      - name: has_wildcard_path
        type: bool
      item_type: struct
      name: Variable
      pos:
        line_end: 44
        line_start: 30
        source_file: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    - fields:
      - name: start_segment
        type: int
      - name: end_segment
        type: int
      - name: field_path
        type: std::vector<std::string>
      - name: has_wildcard_path
        type: bool
      item_type: struct
      name: Variable
      pos:
        line_end: 44
        line_start: 30
        source_file: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    - fields:
      - name: start_segment
        type: int
      - name: end_segment
        type: int
      - name: field_path
        type: std::vector<std::string>
      - name: has_wildcard_path
        type: bool
      item_type: struct
      name: Variable
      pos:
        line_end: 44
        line_start: 30
        source_file: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    - fields:
      - name: start_segment
        type: int
      - name: end_segment
        type: int
      - name: field_path
        type: std::vector<std::string>
      - name: has_wildcard_path
        type: bool
      item_type: struct
      name: Variable
      pos:
        line_end: 44
        line_start: 30
        source_file: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    - fields:
      - name: start_segment
        type: int
      - name: end_segment
        type: int
      - name: field_path
        type: std::vector<std::string>
      - name: has_wildcard_path
        type: bool
      item_type: struct
      name: Variable
      pos:
        line_end: 44
        line_start: 30
        source_file: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    - fields:
      - name: start_segment
        type: int
      - name: end_segment
        type: int
      - name: field_path
        type: std::vector<std::string>
      - name: has_wildcard_path
        type: bool
      item_type: struct
      name: Variable
      pos:
        line_end: 44
        line_start: 30
        source_file: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    - fields:
      - name: start_segment
        type: int
      - name: end_segment
        type: int
      - name: field_path
        type: std::vector<std::string>
      - name: has_wildcard_path
        type: bool
      item_type: struct
      name: Variable
      pos:
        line_end: 44
        line_start: 30
        source_file: /src/esp-v2/src/api_proxy/path_matcher/http_template.h
    typedefs: []
    union: []
- function_names:
  - espv2::api_proxy::path_matcher::Parser::Parser
  - espv2::api_proxy::path_matcher::Parser::Parse
  - '& segments()'
  - '& verb()'
  - '& variables()'
  - espv2::api_proxy::path_matcher::Parser::ValidateParts
  - espv2::api_proxy::path_matcher::Parser::ParseTemplate
  - espv2::api_proxy::path_matcher::Parser::ParseSegments
  - espv2::api_proxy::path_matcher::Parser::ParseSegment
  - espv2::api_proxy::path_matcher::Parser::ParseVariable
  - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
  - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
  - espv2::api_proxy::path_matcher::Parser::ParseVerb
  - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
  - espv2::api_proxy::path_matcher::Parser::ParseLiteral
  - espv2::api_proxy::path_matcher::Parser::Consume
  - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
  - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
  - espv2::api_proxy::path_matcher::Parser::NextChar
  - espv2::api_proxy::path_matcher::Parser::current_char
  - '& CurrentVariable()'
  - espv2::api_proxy::path_matcher::Parser::StartVariable
  - espv2::api_proxy::path_matcher::Parser::EndVariable
  - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
  - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
  - espv2::api_proxy::path_matcher::Parser::ValidateVariable
  - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
  - espv2::api_proxy::path_matcher::Parser::Parser
  - espv2::api_proxy::path_matcher::Parser::Parse
  - '& segments()'
  - '& verb()'
  - '& variables()'
  - espv2::api_proxy::path_matcher::Parser::ValidateParts
  - espv2::api_proxy::path_matcher::Parser::ParseTemplate
  - espv2::api_proxy::path_matcher::Parser::ParseSegments
  - espv2::api_proxy::path_matcher::Parser::ParseSegment
  - espv2::api_proxy::path_matcher::Parser::ParseVariable
  - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
  - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
  - espv2::api_proxy::path_matcher::Parser::ParseVerb
  - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
  - espv2::api_proxy::path_matcher::Parser::ParseLiteral
  - espv2::api_proxy::path_matcher::Parser::Consume
  - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
  - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
  - espv2::api_proxy::path_matcher::Parser::NextChar
  - espv2::api_proxy::path_matcher::Parser::current_char
  - '& CurrentVariable()'
  - espv2::api_proxy::path_matcher::Parser::StartVariable
  - espv2::api_proxy::path_matcher::Parser::EndVariable
  - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
  - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
  - espv2::api_proxy::path_matcher::Parser::ValidateVariable
  - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
  - espv2::api_proxy::path_matcher::HttpTemplate::Parse
  - espv2::api_proxy::path_matcher::Parser::Parser
  - espv2::api_proxy::path_matcher::Parser::Parse
  - '& segments()'
  - '& verb()'
  - '& variables()'
  - espv2::api_proxy::path_matcher::Parser::ValidateParts
  - espv2::api_proxy::path_matcher::Parser::ParseTemplate
  - espv2::api_proxy::path_matcher::Parser::ParseSegments
  - espv2::api_proxy::path_matcher::Parser::ParseSegment
  - espv2::api_proxy::path_matcher::Parser::ParseVariable
  - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
  - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
  - espv2::api_proxy::path_matcher::Parser::ParseVerb
  - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
  - espv2::api_proxy::path_matcher::Parser::ParseLiteral
  - espv2::api_proxy::path_matcher::Parser::Consume
  - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
  - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
  - espv2::api_proxy::path_matcher::Parser::NextChar
  - espv2::api_proxy::path_matcher::Parser::current_char
  - '& CurrentVariable()'
  - espv2::api_proxy::path_matcher::Parser::StartVariable
  - espv2::api_proxy::path_matcher::Parser::EndVariable
  - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
  - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
  - espv2::api_proxy::path_matcher::Parser::ValidateVariable
  - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
  - espv2::api_proxy::path_matcher::Parser::Parser
  - espv2::api_proxy::path_matcher::Parser::Parse
  - '& segments()'
  - '& verb()'
  - '& variables()'
  - espv2::api_proxy::path_matcher::Parser::ValidateParts
  - espv2::api_proxy::path_matcher::Parser::ParseTemplate
  - espv2::api_proxy::path_matcher::Parser::ParseSegments
  - espv2::api_proxy::path_matcher::Parser::ParseSegment
  - espv2::api_proxy::path_matcher::Parser::ParseVariable
  - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
  - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
  - espv2::api_proxy::path_matcher::Parser::ParseVerb
  - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
  - espv2::api_proxy::path_matcher::Parser::ParseLiteral
  - espv2::api_proxy::path_matcher::Parser::Consume
  - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
  - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
  - espv2::api_proxy::path_matcher::Parser::NextChar
  - espv2::api_proxy::path_matcher::Parser::current_char
  - '& CurrentVariable()'
  - espv2::api_proxy::path_matcher::Parser::StartVariable
  - espv2::api_proxy::path_matcher::Parser::EndVariable
  - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
  - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
  - espv2::api_proxy::path_matcher::Parser::ValidateVariable
  - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
  - espv2::api_proxy::path_matcher::HttpTemplate::Parse
  - espv2::api_proxy::path_matcher::Parser::Parser
  - espv2::api_proxy::path_matcher::Parser::Parse
  - '& segments()'
  - '& verb()'
  - '& variables()'
  - espv2::api_proxy::path_matcher::Parser::ValidateParts
  - espv2::api_proxy::path_matcher::Parser::ParseTemplate
  - espv2::api_proxy::path_matcher::Parser::ParseSegments
  - espv2::api_proxy::path_matcher::Parser::ParseSegment
  - espv2::api_proxy::path_matcher::Parser::ParseVariable
  - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
  - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
  - espv2::api_proxy::path_matcher::Parser::ParseVerb
  - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
  - espv2::api_proxy::path_matcher::Parser::ParseLiteral
  - espv2::api_proxy::path_matcher::Parser::Consume
  - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
  - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
  - espv2::api_proxy::path_matcher::Parser::NextChar
  - espv2::api_proxy::path_matcher::Parser::current_char
  - '& CurrentVariable()'
  - espv2::api_proxy::path_matcher::Parser::StartVariable
  - espv2::api_proxy::path_matcher::Parser::EndVariable
  - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
  - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
  - espv2::api_proxy::path_matcher::Parser::ValidateVariable
  - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
  - espv2::api_proxy::path_matcher::Parser::Parser
  - espv2::api_proxy::path_matcher::Parser::Parse
  - '& segments()'
  - '& verb()'
  - '& variables()'
  - espv2::api_proxy::path_matcher::Parser::ValidateParts
  - espv2::api_proxy::path_matcher::Parser::ParseTemplate
  - espv2::api_proxy::path_matcher::Parser::ParseSegments
  - espv2::api_proxy::path_matcher::Parser::ParseSegment
  - espv2::api_proxy::path_matcher::Parser::ParseVariable
  - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
  - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
  - espv2::api_proxy::path_matcher::Parser::ParseVerb
  - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
  - espv2::api_proxy::path_matcher::Parser::ParseLiteral
  - espv2::api_proxy::path_matcher::Parser::Consume
  - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
  - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
  - espv2::api_proxy::path_matcher::Parser::NextChar
  - espv2::api_proxy::path_matcher::Parser::current_char
  - '& CurrentVariable()'
  - espv2::api_proxy::path_matcher::Parser::StartVariable
  - espv2::api_proxy::path_matcher::Parser::EndVariable
  - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
  - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
  - espv2::api_proxy::path_matcher::Parser::ValidateVariable
  - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
  - espv2::api_proxy::path_matcher::HttpTemplate::Parse
  - espv2::api_proxy::path_matcher::Parser::Parser
  - espv2::api_proxy::path_matcher::Parser::Parse
  - '& segments()'
  - '& verb()'
  - '& variables()'
  - espv2::api_proxy::path_matcher::Parser::ValidateParts
  - espv2::api_proxy::path_matcher::Parser::ParseTemplate
  - espv2::api_proxy::path_matcher::Parser::ParseSegments
  - espv2::api_proxy::path_matcher::Parser::ParseSegment
  - espv2::api_proxy::path_matcher::Parser::ParseVariable
  - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
  - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
  - espv2::api_proxy::path_matcher::Parser::ParseVerb
  - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
  - espv2::api_proxy::path_matcher::Parser::ParseLiteral
  - espv2::api_proxy::path_matcher::Parser::Consume
  - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
  - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
  - espv2::api_proxy::path_matcher::Parser::NextChar
  - espv2::api_proxy::path_matcher::Parser::current_char
  - '& CurrentVariable()'
  - espv2::api_proxy::path_matcher::Parser::StartVariable
  - espv2::api_proxy::path_matcher::Parser::EndVariable
  - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
  - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
  - espv2::api_proxy::path_matcher::Parser::ValidateVariable
  - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
  - espv2::api_proxy::path_matcher::Parser::Parser
  - espv2::api_proxy::path_matcher::Parser::Parse
  - '& segments()'
  - '& verb()'
  - '& variables()'
  - espv2::api_proxy::path_matcher::Parser::ValidateParts
  - espv2::api_proxy::path_matcher::Parser::ParseTemplate
  - espv2::api_proxy::path_matcher::Parser::ParseSegments
  - espv2::api_proxy::path_matcher::Parser::ParseSegment
  - espv2::api_proxy::path_matcher::Parser::ParseVariable
  - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
  - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
  - espv2::api_proxy::path_matcher::Parser::ParseVerb
  - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
  - espv2::api_proxy::path_matcher::Parser::ParseLiteral
  - espv2::api_proxy::path_matcher::Parser::Consume
  - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
  - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
  - espv2::api_proxy::path_matcher::Parser::NextChar
  - espv2::api_proxy::path_matcher::Parser::current_char
  - '& CurrentVariable()'
  - espv2::api_proxy::path_matcher::Parser::StartVariable
  - espv2::api_proxy::path_matcher::Parser::EndVariable
  - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
  - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
  - espv2::api_proxy::path_matcher::Parser::ValidateVariable
  - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
  - espv2::api_proxy::path_matcher::HttpTemplate::Parse
  - espv2::api_proxy::path_matcher::Parser::Parser
  - espv2::api_proxy::path_matcher::Parser::Parse
  - '& segments()'
  - '& verb()'
  - '& variables()'
  - espv2::api_proxy::path_matcher::Parser::ValidateParts
  - espv2::api_proxy::path_matcher::Parser::ParseTemplate
  - espv2::api_proxy::path_matcher::Parser::ParseSegments
  - espv2::api_proxy::path_matcher::Parser::ParseSegment
  - espv2::api_proxy::path_matcher::Parser::ParseVariable
  - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
  - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
  - espv2::api_proxy::path_matcher::Parser::ParseVerb
  - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
  - espv2::api_proxy::path_matcher::Parser::ParseLiteral
  - espv2::api_proxy::path_matcher::Parser::Consume
  - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
  - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
  - espv2::api_proxy::path_matcher::Parser::NextChar
  - espv2::api_proxy::path_matcher::Parser::current_char
  - '& CurrentVariable()'
  - espv2::api_proxy::path_matcher::Parser::StartVariable
  - espv2::api_proxy::path_matcher::Parser::EndVariable
  - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
  - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
  - espv2::api_proxy::path_matcher::Parser::ValidateVariable
  - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
  - espv2::api_proxy::path_matcher::Parser::Parser
  - espv2::api_proxy::path_matcher::Parser::Parse
  - '& segments()'
  - '& verb()'
  - '& variables()'
  - espv2::api_proxy::path_matcher::Parser::ValidateParts
  - espv2::api_proxy::path_matcher::Parser::ParseTemplate
  - espv2::api_proxy::path_matcher::Parser::ParseSegments
  - espv2::api_proxy::path_matcher::Parser::ParseSegment
  - espv2::api_proxy::path_matcher::Parser::ParseVariable
  - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
  - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
  - espv2::api_proxy::path_matcher::Parser::ParseVerb
  - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
  - espv2::api_proxy::path_matcher::Parser::ParseLiteral
  - espv2::api_proxy::path_matcher::Parser::Consume
  - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
  - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
  - espv2::api_proxy::path_matcher::Parser::NextChar
  - espv2::api_proxy::path_matcher::Parser::current_char
  - '& CurrentVariable()'
  - espv2::api_proxy::path_matcher::Parser::StartVariable
  - espv2::api_proxy::path_matcher::Parser::EndVariable
  - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
  - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
  - espv2::api_proxy::path_matcher::Parser::ValidateVariable
  - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
  - espv2::api_proxy::path_matcher::HttpTemplate::Parse
  - espv2::api_proxy::path_matcher::Parser::Parser
  - espv2::api_proxy::path_matcher::Parser::Parse
  - '& segments()'
  - '& verb()'
  - '& variables()'
  - espv2::api_proxy::path_matcher::Parser::ValidateParts
  - espv2::api_proxy::path_matcher::Parser::ParseTemplate
  - espv2::api_proxy::path_matcher::Parser::ParseSegments
  - espv2::api_proxy::path_matcher::Parser::ParseSegment
  - espv2::api_proxy::path_matcher::Parser::ParseVariable
  - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
  - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
  - espv2::api_proxy::path_matcher::Parser::ParseVerb
  - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
  - espv2::api_proxy::path_matcher::Parser::ParseLiteral
  - espv2::api_proxy::path_matcher::Parser::Consume
  - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
  - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
  - espv2::api_proxy::path_matcher::Parser::NextChar
  - espv2::api_proxy::path_matcher::Parser::current_char
  - '& CurrentVariable()'
  - espv2::api_proxy::path_matcher::Parser::StartVariable
  - espv2::api_proxy::path_matcher::Parser::EndVariable
  - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
  - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
  - espv2::api_proxy::path_matcher::Parser::ValidateVariable
  - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
  - espv2::api_proxy::path_matcher::Parser::Parser
  - espv2::api_proxy::path_matcher::Parser::Parse
  - '& segments()'
  - '& verb()'
  - '& variables()'
  - espv2::api_proxy::path_matcher::Parser::ValidateParts
  - espv2::api_proxy::path_matcher::Parser::ParseTemplate
  - espv2::api_proxy::path_matcher::Parser::ParseSegments
  - espv2::api_proxy::path_matcher::Parser::ParseSegment
  - espv2::api_proxy::path_matcher::Parser::ParseVariable
  - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
  - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
  - espv2::api_proxy::path_matcher::Parser::ParseVerb
  - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
  - espv2::api_proxy::path_matcher::Parser::ParseLiteral
  - espv2::api_proxy::path_matcher::Parser::Consume
  - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
  - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
  - espv2::api_proxy::path_matcher::Parser::NextChar
  - espv2::api_proxy::path_matcher::Parser::current_char
  - '& CurrentVariable()'
  - espv2::api_proxy::path_matcher::Parser::StartVariable
  - espv2::api_proxy::path_matcher::Parser::EndVariable
  - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
  - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
  - espv2::api_proxy::path_matcher::Parser::ValidateVariable
  - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
  - espv2::api_proxy::path_matcher::HttpTemplate::Parse
  - espv2::api_proxy::path_matcher::Parser::Parser
  - espv2::api_proxy::path_matcher::Parser::Parse
  - '& segments()'
  - '& verb()'
  - '& variables()'
  - espv2::api_proxy::path_matcher::Parser::ValidateParts
  - espv2::api_proxy::path_matcher::Parser::ParseTemplate
  - espv2::api_proxy::path_matcher::Parser::ParseSegments
  - espv2::api_proxy::path_matcher::Parser::ParseSegment
  - espv2::api_proxy::path_matcher::Parser::ParseVariable
  - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
  - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
  - espv2::api_proxy::path_matcher::Parser::ParseVerb
  - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
  - espv2::api_proxy::path_matcher::Parser::ParseLiteral
  - espv2::api_proxy::path_matcher::Parser::Consume
  - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
  - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
  - espv2::api_proxy::path_matcher::Parser::NextChar
  - espv2::api_proxy::path_matcher::Parser::current_char
  - '& CurrentVariable()'
  - espv2::api_proxy::path_matcher::Parser::StartVariable
  - espv2::api_proxy::path_matcher::Parser::EndVariable
  - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
  - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
  - espv2::api_proxy::path_matcher::Parser::ValidateVariable
  - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
  - espv2::api_proxy::path_matcher::Parser::Parser
  - espv2::api_proxy::path_matcher::Parser::Parse
  - '& segments()'
  - '& verb()'
  - '& variables()'
  - espv2::api_proxy::path_matcher::Parser::ValidateParts
  - espv2::api_proxy::path_matcher::Parser::ParseTemplate
  - espv2::api_proxy::path_matcher::Parser::ParseSegments
  - espv2::api_proxy::path_matcher::Parser::ParseSegment
  - espv2::api_proxy::path_matcher::Parser::ParseVariable
  - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
  - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
  - espv2::api_proxy::path_matcher::Parser::ParseVerb
  - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
  - espv2::api_proxy::path_matcher::Parser::ParseLiteral
  - espv2::api_proxy::path_matcher::Parser::Consume
  - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
  - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
  - espv2::api_proxy::path_matcher::Parser::NextChar
  - espv2::api_proxy::path_matcher::Parser::current_char
  - '& CurrentVariable()'
  - espv2::api_proxy::path_matcher::Parser::StartVariable
  - espv2::api_proxy::path_matcher::Parser::EndVariable
  - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
  - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
  - espv2::api_proxy::path_matcher::Parser::ValidateVariable
  - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
  - espv2::api_proxy::path_matcher::HttpTemplate::Parse
  - espv2::api_proxy::path_matcher::Parser::Parser
  - espv2::api_proxy::path_matcher::Parser::Parse
  - '& segments()'
  - '& verb()'
  - '& variables()'
  - espv2::api_proxy::path_matcher::Parser::ValidateParts
  - espv2::api_proxy::path_matcher::Parser::ParseTemplate
  - espv2::api_proxy::path_matcher::Parser::ParseSegments
  - espv2::api_proxy::path_matcher::Parser::ParseSegment
  - espv2::api_proxy::path_matcher::Parser::ParseVariable
  - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
  - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
  - espv2::api_proxy::path_matcher::Parser::ParseVerb
  - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
  - espv2::api_proxy::path_matcher::Parser::ParseLiteral
  - espv2::api_proxy::path_matcher::Parser::Consume
  - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
  - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
  - espv2::api_proxy::path_matcher::Parser::NextChar
  - espv2::api_proxy::path_matcher::Parser::current_char
  - '& CurrentVariable()'
  - espv2::api_proxy::path_matcher::Parser::StartVariable
  - espv2::api_proxy::path_matcher::Parser::EndVariable
  - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
  - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
  - espv2::api_proxy::path_matcher::Parser::ValidateVariable
  - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
  - espv2::api_proxy::path_matcher::Parser::Parser
  - espv2::api_proxy::path_matcher::Parser::Parse
  - '& segments()'
  - '& verb()'
  - '& variables()'
  - espv2::api_proxy::path_matcher::Parser::ValidateParts
  - espv2::api_proxy::path_matcher::Parser::ParseTemplate
  - espv2::api_proxy::path_matcher::Parser::ParseSegments
  - espv2::api_proxy::path_matcher::Parser::ParseSegment
  - espv2::api_proxy::path_matcher::Parser::ParseVariable
  - espv2::api_proxy::path_matcher::Parser::ParseLiteralSegment
  - espv2::api_proxy::path_matcher::Parser::ParseFieldPath
  - espv2::api_proxy::path_matcher::Parser::ParseVerb
  - espv2::api_proxy::path_matcher::Parser::ParseIdentifier
  - espv2::api_proxy::path_matcher::Parser::ParseLiteral
  - espv2::api_proxy::path_matcher::Parser::Consume
  - espv2::api_proxy::path_matcher::Parser::ConsumedAllInput
  - espv2::api_proxy::path_matcher::Parser::EnsureCurrent
  - espv2::api_proxy::path_matcher::Parser::NextChar
  - espv2::api_proxy::path_matcher::Parser::current_char
  - '& CurrentVariable()'
  - espv2::api_proxy::path_matcher::Parser::StartVariable
  - espv2::api_proxy::path_matcher::Parser::EndVariable
  - espv2::api_proxy::path_matcher::Parser::AddFieldIdentifier
  - espv2::api_proxy::path_matcher::Parser::MarkVariableHasWildCardPath
  - espv2::api_proxy::path_matcher::Parser::ValidateVariable
  - espv2::api_proxy::path_matcher::Parser::PostProcessVariables
  - espv2::api_proxy::path_matcher::HttpTemplate::Parse
  source_file: /src/esp-v2/src/api_proxy/path_matcher/http_template.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
  - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
  - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
  - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
  - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
  - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
  - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
  - espv2::api_proxy::path_matcher::VariableBindingsToQueryParameters
  source_file: /src/esp-v2/src/api_proxy/path_matcher/variable_binding_utils.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - operator==(const Variable& v1, const Variable& v2)
  - espv2::api_proxy::path_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const Variable& var)'
  - '& operator<<(std::ostream& os, const Variables& vars)'
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - operator==(const Variable& v1, const Variable& v2)
  - espv2::api_proxy::path_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const Variable& var)'
  - '& operator<<(std::ostream& os, const Variables& vars)'
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - operator==(const Variable& v1, const Variable& v2)
  - espv2::api_proxy::path_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const Variable& var)'
  - '& operator<<(std::ostream& os, const Variables& vars)'
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - operator==(const Variable& v1, const Variable& v2)
  - espv2::api_proxy::path_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const Variable& var)'
  - '& operator<<(std::ostream& os, const Variables& vars)'
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - operator==(const Variable& v1, const Variable& v2)
  - espv2::api_proxy::path_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const Variable& var)'
  - '& operator<<(std::ostream& os, const Variables& vars)'
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - operator==(const Variable& v1, const Variable& v2)
  - espv2::api_proxy::path_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const Variable& var)'
  - '& operator<<(std::ostream& os, const Variables& vars)'
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - operator==(const Variable& v1, const Variable& v2)
  - espv2::api_proxy::path_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const Variable& var)'
  - '& operator<<(std::ostream& os, const Variables& vars)'
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - operator==(const Variable& v1, const Variable& v2)
  - espv2::api_proxy::path_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const Variable& var)'
  - '& operator<<(std::ostream& os, const Variables& vars)'
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  - espv2::api_proxy::path_matcher::TEST
  source_file: /src/esp-v2/src/api_proxy/path_matcher/http_template_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::api_proxy::path_matcher::FieldPathToString
  - espv2::api_proxy::path_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const VariableBinding& b)'
  - '& operator<<(std::ostream& os, const VariableBindings& bindings)'
  - espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::Build
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::Build
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::FieldPathToString
  - espv2::api_proxy::path_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const VariableBinding& b)'
  - '& operator<<(std::ostream& os, const VariableBindings& bindings)'
  - espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::Build
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::Build
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::FieldPathToString
  - espv2::api_proxy::path_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const VariableBinding& b)'
  - '& operator<<(std::ostream& os, const VariableBindings& bindings)'
  - espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::Build
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::Build
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::FieldPathToString
  - espv2::api_proxy::path_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const VariableBinding& b)'
  - '& operator<<(std::ostream& os, const VariableBindings& bindings)'
  - espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::Build
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::Build
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::FieldPathToString
  - espv2::api_proxy::path_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const VariableBinding& b)'
  - '& operator<<(std::ostream& os, const VariableBindings& bindings)'
  - espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::Build
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::Build
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::FieldPathToString
  - espv2::api_proxy::path_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const VariableBinding& b)'
  - '& operator<<(std::ostream& os, const VariableBindings& bindings)'
  - espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::Build
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::Build
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::FieldPathToString
  - espv2::api_proxy::path_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const VariableBinding& b)'
  - '& operator<<(std::ostream& os, const VariableBindings& bindings)'
  - espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::Build
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::Build
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::FieldPathToString
  - espv2::api_proxy::path_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const VariableBinding& b)'
  - '& operator<<(std::ostream& os, const VariableBindings& bindings)'
  - espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::Build
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::AddGetPath
  - espv2::api_proxy::path_matcher::PathMatcherTest::Build
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::PathMatcherTest::Lookup
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::HexDigit
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  - espv2::api_proxy::path_matcher::TEST_F
  source_file: /src/esp-v2/src/api_proxy/path_matcher/path_matcher_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - '& get() const'
  - espv2::api_proxy::utils::Version::set
  - espv2::api_proxy::utils::Version::Version
  - '& get() const'
  - espv2::api_proxy::utils::Version::set
  - espv2::api_proxy::utils::Version::Version
  - '& get() const'
  - espv2::api_proxy::utils::Version::set
  - espv2::api_proxy::utils::Version::Version
  - '& get() const'
  - espv2::api_proxy::utils::Version::set
  - espv2::api_proxy::utils::Version::Version
  - '& get() const'
  - espv2::api_proxy::utils::Version::set
  - espv2::api_proxy::utils::Version::Version
  - '& get() const'
  - espv2::api_proxy::utils::Version::set
  - espv2::api_proxy::utils::Version::Version
  - '& get() const'
  - espv2::api_proxy::utils::Version::set
  - espv2::api_proxy::utils::Version::Version
  - '& get() const'
  - espv2::api_proxy::utils::Version::set
  - espv2::api_proxy::utils::Version::Version
  source_file: /src/esp-v2/src/api_proxy/utils/version.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - '& Version::instance()'
  - '& Version::instance()'
  - '& Version::instance()'
  - '& Version::instance()'
  - '& Version::instance()'
  - '& Version::instance()'
  - '& Version::instance()'
  - '& Version::instance()'
  source_file: /src/esp-v2/src/api_proxy/utils/version.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::api_proxy::utils::TEST
  - espv2::api_proxy::utils::TEST
  - espv2::api_proxy::utils::TEST
  - espv2::api_proxy::utils::TEST
  - espv2::api_proxy::utils::TEST
  - espv2::api_proxy::utils::TEST
  - espv2::api_proxy::utils::TEST
  - espv2::api_proxy::utils::TEST
  - espv2::api_proxy::utils::TEST
  - espv2::api_proxy::utils::TEST
  - espv2::api_proxy::utils::TEST
  - espv2::api_proxy::utils::TEST
  - espv2::api_proxy::utils::TEST
  - espv2::api_proxy::utils::TEST
  - espv2::api_proxy::utils::TEST
  - espv2::api_proxy::utils::TEST
  source_file: /src/esp-v2/src/api_proxy/utils/version_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::api_proxy::service_control::ReadTestBaseline
  - espv2::api_proxy::service_control::FillCheckRequestInfo
  - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
  - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
  - espv2::api_proxy::service_control::FillReportRequestInfo
  - espv2::api_proxy::service_control::CheckRequestToString
  - espv2::api_proxy::service_control::AllocateQuotaRequestToString
  - espv2::api_proxy::service_control::ReportRequestToString
  - espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
  - espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
  - espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::ReadTestBaseline
  - espv2::api_proxy::service_control::FillCheckRequestInfo
  - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
  - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
  - espv2::api_proxy::service_control::FillReportRequestInfo
  - espv2::api_proxy::service_control::CheckRequestToString
  - espv2::api_proxy::service_control::AllocateQuotaRequestToString
  - espv2::api_proxy::service_control::ReportRequestToString
  - espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
  - espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
  - espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::ReadTestBaseline
  - espv2::api_proxy::service_control::FillCheckRequestInfo
  - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
  - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
  - espv2::api_proxy::service_control::FillReportRequestInfo
  - espv2::api_proxy::service_control::CheckRequestToString
  - espv2::api_proxy::service_control::AllocateQuotaRequestToString
  - espv2::api_proxy::service_control::ReportRequestToString
  - espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
  - espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
  - espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::ReadTestBaseline
  - espv2::api_proxy::service_control::FillCheckRequestInfo
  - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
  - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
  - espv2::api_proxy::service_control::FillReportRequestInfo
  - espv2::api_proxy::service_control::CheckRequestToString
  - espv2::api_proxy::service_control::AllocateQuotaRequestToString
  - espv2::api_proxy::service_control::ReportRequestToString
  - espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
  - espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
  - espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::ReadTestBaseline
  - espv2::api_proxy::service_control::FillCheckRequestInfo
  - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
  - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
  - espv2::api_proxy::service_control::FillReportRequestInfo
  - espv2::api_proxy::service_control::CheckRequestToString
  - espv2::api_proxy::service_control::AllocateQuotaRequestToString
  - espv2::api_proxy::service_control::ReportRequestToString
  - espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
  - espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
  - espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::ReadTestBaseline
  - espv2::api_proxy::service_control::FillCheckRequestInfo
  - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
  - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
  - espv2::api_proxy::service_control::FillReportRequestInfo
  - espv2::api_proxy::service_control::CheckRequestToString
  - espv2::api_proxy::service_control::AllocateQuotaRequestToString
  - espv2::api_proxy::service_control::ReportRequestToString
  - espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
  - espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
  - espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::ReadTestBaseline
  - espv2::api_proxy::service_control::FillCheckRequestInfo
  - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
  - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
  - espv2::api_proxy::service_control::FillReportRequestInfo
  - espv2::api_proxy::service_control::CheckRequestToString
  - espv2::api_proxy::service_control::AllocateQuotaRequestToString
  - espv2::api_proxy::service_control::ReportRequestToString
  - espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
  - espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
  - espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::ReadTestBaseline
  - espv2::api_proxy::service_control::FillCheckRequestInfo
  - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
  - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
  - espv2::api_proxy::service_control::FillReportRequestInfo
  - espv2::api_proxy::service_control::CheckRequestToString
  - espv2::api_proxy::service_control::AllocateQuotaRequestToString
  - espv2::api_proxy::service_control::ReportRequestToString
  - espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
  - espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
  - espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::ReadTestBaseline
  - espv2::api_proxy::service_control::FillCheckRequestInfo
  - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
  - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
  - espv2::api_proxy::service_control::FillReportRequestInfo
  - espv2::api_proxy::service_control::CheckRequestToString
  - espv2::api_proxy::service_control::AllocateQuotaRequestToString
  - espv2::api_proxy::service_control::ReportRequestToString
  - espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
  - espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
  - espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::ReadTestBaseline
  - espv2::api_proxy::service_control::FillCheckRequestInfo
  - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
  - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
  - espv2::api_proxy::service_control::FillReportRequestInfo
  - espv2::api_proxy::service_control::CheckRequestToString
  - espv2::api_proxy::service_control::AllocateQuotaRequestToString
  - espv2::api_proxy::service_control::ReportRequestToString
  - espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
  - espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
  - espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::ReadTestBaseline
  - espv2::api_proxy::service_control::FillCheckRequestInfo
  - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
  - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
  - espv2::api_proxy::service_control::FillReportRequestInfo
  - espv2::api_proxy::service_control::CheckRequestToString
  - espv2::api_proxy::service_control::AllocateQuotaRequestToString
  - espv2::api_proxy::service_control::ReportRequestToString
  - espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
  - espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
  - espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::ReadTestBaseline
  - espv2::api_proxy::service_control::FillCheckRequestInfo
  - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
  - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
  - espv2::api_proxy::service_control::FillReportRequestInfo
  - espv2::api_proxy::service_control::CheckRequestToString
  - espv2::api_proxy::service_control::AllocateQuotaRequestToString
  - espv2::api_proxy::service_control::ReportRequestToString
  - espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
  - espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
  - espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::ReadTestBaseline
  - espv2::api_proxy::service_control::FillCheckRequestInfo
  - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
  - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
  - espv2::api_proxy::service_control::FillReportRequestInfo
  - espv2::api_proxy::service_control::CheckRequestToString
  - espv2::api_proxy::service_control::AllocateQuotaRequestToString
  - espv2::api_proxy::service_control::ReportRequestToString
  - espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
  - espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
  - espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::ReadTestBaseline
  - espv2::api_proxy::service_control::FillCheckRequestInfo
  - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
  - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
  - espv2::api_proxy::service_control::FillReportRequestInfo
  - espv2::api_proxy::service_control::CheckRequestToString
  - espv2::api_proxy::service_control::AllocateQuotaRequestToString
  - espv2::api_proxy::service_control::ReportRequestToString
  - espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
  - espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
  - espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::ReadTestBaseline
  - espv2::api_proxy::service_control::FillCheckRequestInfo
  - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
  - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
  - espv2::api_proxy::service_control::FillReportRequestInfo
  - espv2::api_proxy::service_control::CheckRequestToString
  - espv2::api_proxy::service_control::AllocateQuotaRequestToString
  - espv2::api_proxy::service_control::ReportRequestToString
  - espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
  - espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
  - espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::ReadTestBaseline
  - espv2::api_proxy::service_control::FillCheckRequestInfo
  - espv2::api_proxy::service_control::FillCheckRequestAndroidInfo
  - espv2::api_proxy::service_control::FillAllocateQuotaRequestInfo
  - espv2::api_proxy::service_control::FillReportRequestInfo
  - espv2::api_proxy::service_control::CheckRequestToString
  - espv2::api_proxy::service_control::AllocateQuotaRequestToString
  - espv2::api_proxy::service_control::ReportRequestToString
  - espv2::api_proxy::service_control::RequestBuilderTest::SetUpTestCase
  - espv2::api_proxy::service_control::RequestBuilderTest::RequestBuilderTest
  - espv2::api_proxy::service_control::RequestBuilderTest::FillOperationInfo
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  source_file: /src/esp-v2/src/api_proxy/service_control/request_builder_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - '& service_name() const'
  - '& service_config_id() const'
  - '& service_name() const'
  - '& service_config_id() const'
  - '& service_name() const'
  - '& service_config_id() const'
  - '& service_name() const'
  - '& service_config_id() const'
  - '& service_name() const'
  - '& service_config_id() const'
  - '& service_name() const'
  - '& service_config_id() const'
  - '& service_name() const'
  - '& service_config_id() const'
  - '& service_name() const'
  - '& service_config_id() const'
  source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::CheckResponseConverterTest::runTest
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  - espv2::api_proxy::service_control::TEST_F
  source_file: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::api_proxy::service_control::LogsMetricsLoader::Load
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
  - espv2::api_proxy::service_control::FindMetricDescriptor
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
  - espv2::api_proxy::service_control::LogsMetricsLoader::LoadLogsMetrics
  - espv2::api_proxy::service_control::LogsMetricsLoader::Load
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
  - espv2::api_proxy::service_control::FindMetricDescriptor
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
  - espv2::api_proxy::service_control::LogsMetricsLoader::LoadLogsMetrics
  - espv2::api_proxy::service_control::LogsMetricsLoader::Load
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
  - espv2::api_proxy::service_control::FindMetricDescriptor
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
  - espv2::api_proxy::service_control::LogsMetricsLoader::LoadLogsMetrics
  - espv2::api_proxy::service_control::LogsMetricsLoader::Load
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
  - espv2::api_proxy::service_control::FindMetricDescriptor
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
  - espv2::api_proxy::service_control::LogsMetricsLoader::LoadLogsMetrics
  - espv2::api_proxy::service_control::LogsMetricsLoader::Load
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
  - espv2::api_proxy::service_control::FindMetricDescriptor
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
  - espv2::api_proxy::service_control::LogsMetricsLoader::LoadLogsMetrics
  - espv2::api_proxy::service_control::LogsMetricsLoader::Load
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
  - espv2::api_proxy::service_control::FindMetricDescriptor
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
  - espv2::api_proxy::service_control::LogsMetricsLoader::LoadLogsMetrics
  - espv2::api_proxy::service_control::LogsMetricsLoader::Load
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
  - espv2::api_proxy::service_control::FindMetricDescriptor
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
  - espv2::api_proxy::service_control::LogsMetricsLoader::LoadLogsMetrics
  - espv2::api_proxy::service_control::LogsMetricsLoader::Load
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddLabels
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddLogLabels
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoredResourceLabels
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddLoggingDestinations
  - espv2::api_proxy::service_control::FindMetricDescriptor
  - espv2::api_proxy::service_control::LogsMetricsLoader::AddMonitoringDestinations
  - espv2::api_proxy::service_control::LogsMetricsLoader::LoadLogsMetrics
  source_file: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::api_proxy::service_control::LogsMetricsLoader::LogsMetricsLoader
  - espv2::api_proxy::service_control::LogsMetricsLoader::LogsMetricsLoader
  - espv2::api_proxy::service_control::LogsMetricsLoader::LogsMetricsLoader
  - espv2::api_proxy::service_control::LogsMetricsLoader::LogsMetricsLoader
  - espv2::api_proxy::service_control::LogsMetricsLoader::LogsMetricsLoader
  - espv2::api_proxy::service_control::LogsMetricsLoader::LogsMetricsLoader
  - espv2::api_proxy::service_control::LogsMetricsLoader::LogsMetricsLoader
  - espv2::api_proxy::service_control::LogsMetricsLoader::LogsMetricsLoader
  source_file: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::api_proxy::service_control::AddMetricValue
  - espv2::api_proxy::service_control::AddInt64Metric
  - espv2::api_proxy::service_control::AddDistributionMetric
  - espv2::api_proxy::service_control::set_int64_metric_to_constant_1
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_response_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
  - espv2::api_proxy::service_control::get_service_agent
  - espv2::api_proxy::service_control::get_status_code
  - espv2::api_proxy::service_control::set_credential_id
  - espv2::api_proxy::service_control::set_error_type
  - espv2::api_proxy::service_control::set_protocol
  - espv2::api_proxy::service_control::set_backend_protocol
  - espv2::api_proxy::service_control::set_consumer_project
  - espv2::api_proxy::service_control::set_referer
  - espv2::api_proxy::service_control::set_response_code
  - espv2::api_proxy::service_control::set_response_code_class
  - espv2::api_proxy::service_control::set_status_code
  - espv2::api_proxy::service_control::set_location
  - espv2::api_proxy::service_control::set_api_method
  - espv2::api_proxy::service_control::set_api_version
  - espv2::api_proxy::service_control::set_platform
  - espv2::api_proxy::service_control::set_service_agent
  - espv2::api_proxy::service_control::set_user_agent
  - espv2::api_proxy::service_control::CreateTimestamp
  - espv2::api_proxy::service_control::VerifyRequiredCheckFields
  - espv2::api_proxy::service_control::VerifyRequiredReportFields
  - espv2::api_proxy::service_control::SetOperationCommonFields
  - espv2::api_proxy::service_control::TraceResourceName
  - espv2::api_proxy::service_control::FillLogEntry
  - espv2::api_proxy::service_control::FilterPointers
  - espv2::api_proxy::service_control::AddMetricValue
  - espv2::api_proxy::service_control::AddInt64Metric
  - espv2::api_proxy::service_control::AddDistributionMetric
  - espv2::api_proxy::service_control::set_int64_metric_to_constant_1
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_response_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
  - espv2::api_proxy::service_control::get_service_agent
  - espv2::api_proxy::service_control::get_status_code
  - espv2::api_proxy::service_control::set_credential_id
  - espv2::api_proxy::service_control::set_error_type
  - espv2::api_proxy::service_control::set_protocol
  - espv2::api_proxy::service_control::set_backend_protocol
  - espv2::api_proxy::service_control::set_consumer_project
  - espv2::api_proxy::service_control::set_referer
  - espv2::api_proxy::service_control::set_response_code
  - espv2::api_proxy::service_control::set_response_code_class
  - espv2::api_proxy::service_control::set_status_code
  - espv2::api_proxy::service_control::set_location
  - espv2::api_proxy::service_control::set_api_method
  - espv2::api_proxy::service_control::set_api_version
  - espv2::api_proxy::service_control::set_platform
  - espv2::api_proxy::service_control::set_service_agent
  - espv2::api_proxy::service_control::set_user_agent
  - espv2::api_proxy::service_control::CreateTimestamp
  - espv2::api_proxy::service_control::VerifyRequiredCheckFields
  - espv2::api_proxy::service_control::VerifyRequiredReportFields
  - espv2::api_proxy::service_control::SetOperationCommonFields
  - espv2::api_proxy::service_control::TraceResourceName
  - espv2::api_proxy::service_control::FillLogEntry
  - espv2::api_proxy::service_control::FilterPointers
  - espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
  - espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
  - espv2::api_proxy::service_control::RequestBuilder::FillAllocateQuotaRequest
  - espv2::api_proxy::service_control::RequestBuilder::FillCheckRequest
  - espv2::api_proxy::service_control::RequestBuilder::FillReportRequest
  - espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
  - espv2::api_proxy::service_control::RequestBuilder::IsMetricSupported
  - espv2::api_proxy::service_control::RequestBuilder::IsLabelSupported
  - espv2::api_proxy::service_control::AddMetricValue
  - espv2::api_proxy::service_control::AddInt64Metric
  - espv2::api_proxy::service_control::AddDistributionMetric
  - espv2::api_proxy::service_control::set_int64_metric_to_constant_1
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_response_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
  - espv2::api_proxy::service_control::get_service_agent
  - espv2::api_proxy::service_control::get_status_code
  - espv2::api_proxy::service_control::set_credential_id
  - espv2::api_proxy::service_control::set_error_type
  - espv2::api_proxy::service_control::set_protocol
  - espv2::api_proxy::service_control::set_backend_protocol
  - espv2::api_proxy::service_control::set_consumer_project
  - espv2::api_proxy::service_control::set_referer
  - espv2::api_proxy::service_control::set_response_code
  - espv2::api_proxy::service_control::set_response_code_class
  - espv2::api_proxy::service_control::set_status_code
  - espv2::api_proxy::service_control::set_location
  - espv2::api_proxy::service_control::set_api_method
  - espv2::api_proxy::service_control::set_api_version
  - espv2::api_proxy::service_control::set_platform
  - espv2::api_proxy::service_control::set_service_agent
  - espv2::api_proxy::service_control::set_user_agent
  - espv2::api_proxy::service_control::CreateTimestamp
  - espv2::api_proxy::service_control::VerifyRequiredCheckFields
  - espv2::api_proxy::service_control::VerifyRequiredReportFields
  - espv2::api_proxy::service_control::SetOperationCommonFields
  - espv2::api_proxy::service_control::TraceResourceName
  - espv2::api_proxy::service_control::FillLogEntry
  - espv2::api_proxy::service_control::FilterPointers
  - espv2::api_proxy::service_control::AddMetricValue
  - espv2::api_proxy::service_control::AddInt64Metric
  - espv2::api_proxy::service_control::AddDistributionMetric
  - espv2::api_proxy::service_control::set_int64_metric_to_constant_1
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_response_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
  - espv2::api_proxy::service_control::get_service_agent
  - espv2::api_proxy::service_control::get_status_code
  - espv2::api_proxy::service_control::set_credential_id
  - espv2::api_proxy::service_control::set_error_type
  - espv2::api_proxy::service_control::set_protocol
  - espv2::api_proxy::service_control::set_backend_protocol
  - espv2::api_proxy::service_control::set_consumer_project
  - espv2::api_proxy::service_control::set_referer
  - espv2::api_proxy::service_control::set_response_code
  - espv2::api_proxy::service_control::set_response_code_class
  - espv2::api_proxy::service_control::set_status_code
  - espv2::api_proxy::service_control::set_location
  - espv2::api_proxy::service_control::set_api_method
  - espv2::api_proxy::service_control::set_api_version
  - espv2::api_proxy::service_control::set_platform
  - espv2::api_proxy::service_control::set_service_agent
  - espv2::api_proxy::service_control::set_user_agent
  - espv2::api_proxy::service_control::CreateTimestamp
  - espv2::api_proxy::service_control::VerifyRequiredCheckFields
  - espv2::api_proxy::service_control::VerifyRequiredReportFields
  - espv2::api_proxy::service_control::SetOperationCommonFields
  - espv2::api_proxy::service_control::TraceResourceName
  - espv2::api_proxy::service_control::FillLogEntry
  - espv2::api_proxy::service_control::FilterPointers
  - espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
  - espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
  - espv2::api_proxy::service_control::RequestBuilder::FillAllocateQuotaRequest
  - espv2::api_proxy::service_control::RequestBuilder::FillCheckRequest
  - espv2::api_proxy::service_control::RequestBuilder::FillReportRequest
  - espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
  - espv2::api_proxy::service_control::RequestBuilder::IsMetricSupported
  - espv2::api_proxy::service_control::RequestBuilder::IsLabelSupported
  - espv2::api_proxy::service_control::AddMetricValue
  - espv2::api_proxy::service_control::AddInt64Metric
  - espv2::api_proxy::service_control::AddDistributionMetric
  - espv2::api_proxy::service_control::set_int64_metric_to_constant_1
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_response_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
  - espv2::api_proxy::service_control::get_service_agent
  - espv2::api_proxy::service_control::get_status_code
  - espv2::api_proxy::service_control::set_credential_id
  - espv2::api_proxy::service_control::set_error_type
  - espv2::api_proxy::service_control::set_protocol
  - espv2::api_proxy::service_control::set_backend_protocol
  - espv2::api_proxy::service_control::set_consumer_project
  - espv2::api_proxy::service_control::set_referer
  - espv2::api_proxy::service_control::set_response_code
  - espv2::api_proxy::service_control::set_response_code_class
  - espv2::api_proxy::service_control::set_status_code
  - espv2::api_proxy::service_control::set_location
  - espv2::api_proxy::service_control::set_api_method
  - espv2::api_proxy::service_control::set_api_version
  - espv2::api_proxy::service_control::set_platform
  - espv2::api_proxy::service_control::set_service_agent
  - espv2::api_proxy::service_control::set_user_agent
  - espv2::api_proxy::service_control::CreateTimestamp
  - espv2::api_proxy::service_control::VerifyRequiredCheckFields
  - espv2::api_proxy::service_control::VerifyRequiredReportFields
  - espv2::api_proxy::service_control::SetOperationCommonFields
  - espv2::api_proxy::service_control::TraceResourceName
  - espv2::api_proxy::service_control::FillLogEntry
  - espv2::api_proxy::service_control::FilterPointers
  - espv2::api_proxy::service_control::AddMetricValue
  - espv2::api_proxy::service_control::AddInt64Metric
  - espv2::api_proxy::service_control::AddDistributionMetric
  - espv2::api_proxy::service_control::set_int64_metric_to_constant_1
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_response_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
  - espv2::api_proxy::service_control::get_service_agent
  - espv2::api_proxy::service_control::get_status_code
  - espv2::api_proxy::service_control::set_credential_id
  - espv2::api_proxy::service_control::set_error_type
  - espv2::api_proxy::service_control::set_protocol
  - espv2::api_proxy::service_control::set_backend_protocol
  - espv2::api_proxy::service_control::set_consumer_project
  - espv2::api_proxy::service_control::set_referer
  - espv2::api_proxy::service_control::set_response_code
  - espv2::api_proxy::service_control::set_response_code_class
  - espv2::api_proxy::service_control::set_status_code
  - espv2::api_proxy::service_control::set_location
  - espv2::api_proxy::service_control::set_api_method
  - espv2::api_proxy::service_control::set_api_version
  - espv2::api_proxy::service_control::set_platform
  - espv2::api_proxy::service_control::set_service_agent
  - espv2::api_proxy::service_control::set_user_agent
  - espv2::api_proxy::service_control::CreateTimestamp
  - espv2::api_proxy::service_control::VerifyRequiredCheckFields
  - espv2::api_proxy::service_control::VerifyRequiredReportFields
  - espv2::api_proxy::service_control::SetOperationCommonFields
  - espv2::api_proxy::service_control::TraceResourceName
  - espv2::api_proxy::service_control::FillLogEntry
  - espv2::api_proxy::service_control::FilterPointers
  - espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
  - espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
  - espv2::api_proxy::service_control::RequestBuilder::FillAllocateQuotaRequest
  - espv2::api_proxy::service_control::RequestBuilder::FillCheckRequest
  - espv2::api_proxy::service_control::RequestBuilder::FillReportRequest
  - espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
  - espv2::api_proxy::service_control::RequestBuilder::IsMetricSupported
  - espv2::api_proxy::service_control::RequestBuilder::IsLabelSupported
  - espv2::api_proxy::service_control::AddMetricValue
  - espv2::api_proxy::service_control::AddInt64Metric
  - espv2::api_proxy::service_control::AddDistributionMetric
  - espv2::api_proxy::service_control::set_int64_metric_to_constant_1
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_response_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
  - espv2::api_proxy::service_control::get_service_agent
  - espv2::api_proxy::service_control::get_status_code
  - espv2::api_proxy::service_control::set_credential_id
  - espv2::api_proxy::service_control::set_error_type
  - espv2::api_proxy::service_control::set_protocol
  - espv2::api_proxy::service_control::set_backend_protocol
  - espv2::api_proxy::service_control::set_consumer_project
  - espv2::api_proxy::service_control::set_referer
  - espv2::api_proxy::service_control::set_response_code
  - espv2::api_proxy::service_control::set_response_code_class
  - espv2::api_proxy::service_control::set_status_code
  - espv2::api_proxy::service_control::set_location
  - espv2::api_proxy::service_control::set_api_method
  - espv2::api_proxy::service_control::set_api_version
  - espv2::api_proxy::service_control::set_platform
  - espv2::api_proxy::service_control::set_service_agent
  - espv2::api_proxy::service_control::set_user_agent
  - espv2::api_proxy::service_control::CreateTimestamp
  - espv2::api_proxy::service_control::VerifyRequiredCheckFields
  - espv2::api_proxy::service_control::VerifyRequiredReportFields
  - espv2::api_proxy::service_control::SetOperationCommonFields
  - espv2::api_proxy::service_control::TraceResourceName
  - espv2::api_proxy::service_control::FillLogEntry
  - espv2::api_proxy::service_control::FilterPointers
  - espv2::api_proxy::service_control::AddMetricValue
  - espv2::api_proxy::service_control::AddInt64Metric
  - espv2::api_proxy::service_control::AddDistributionMetric
  - espv2::api_proxy::service_control::set_int64_metric_to_constant_1
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_response_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
  - espv2::api_proxy::service_control::get_service_agent
  - espv2::api_proxy::service_control::get_status_code
  - espv2::api_proxy::service_control::set_credential_id
  - espv2::api_proxy::service_control::set_error_type
  - espv2::api_proxy::service_control::set_protocol
  - espv2::api_proxy::service_control::set_backend_protocol
  - espv2::api_proxy::service_control::set_consumer_project
  - espv2::api_proxy::service_control::set_referer
  - espv2::api_proxy::service_control::set_response_code
  - espv2::api_proxy::service_control::set_response_code_class
  - espv2::api_proxy::service_control::set_status_code
  - espv2::api_proxy::service_control::set_location
  - espv2::api_proxy::service_control::set_api_method
  - espv2::api_proxy::service_control::set_api_version
  - espv2::api_proxy::service_control::set_platform
  - espv2::api_proxy::service_control::set_service_agent
  - espv2::api_proxy::service_control::set_user_agent
  - espv2::api_proxy::service_control::CreateTimestamp
  - espv2::api_proxy::service_control::VerifyRequiredCheckFields
  - espv2::api_proxy::service_control::VerifyRequiredReportFields
  - espv2::api_proxy::service_control::SetOperationCommonFields
  - espv2::api_proxy::service_control::TraceResourceName
  - espv2::api_proxy::service_control::FillLogEntry
  - espv2::api_proxy::service_control::FilterPointers
  - espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
  - espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
  - espv2::api_proxy::service_control::RequestBuilder::FillAllocateQuotaRequest
  - espv2::api_proxy::service_control::RequestBuilder::FillCheckRequest
  - espv2::api_proxy::service_control::RequestBuilder::FillReportRequest
  - espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
  - espv2::api_proxy::service_control::RequestBuilder::IsMetricSupported
  - espv2::api_proxy::service_control::RequestBuilder::IsLabelSupported
  - espv2::api_proxy::service_control::AddMetricValue
  - espv2::api_proxy::service_control::AddInt64Metric
  - espv2::api_proxy::service_control::AddDistributionMetric
  - espv2::api_proxy::service_control::set_int64_metric_to_constant_1
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_response_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
  - espv2::api_proxy::service_control::get_service_agent
  - espv2::api_proxy::service_control::get_status_code
  - espv2::api_proxy::service_control::set_credential_id
  - espv2::api_proxy::service_control::set_error_type
  - espv2::api_proxy::service_control::set_protocol
  - espv2::api_proxy::service_control::set_backend_protocol
  - espv2::api_proxy::service_control::set_consumer_project
  - espv2::api_proxy::service_control::set_referer
  - espv2::api_proxy::service_control::set_response_code
  - espv2::api_proxy::service_control::set_response_code_class
  - espv2::api_proxy::service_control::set_status_code
  - espv2::api_proxy::service_control::set_location
  - espv2::api_proxy::service_control::set_api_method
  - espv2::api_proxy::service_control::set_api_version
  - espv2::api_proxy::service_control::set_platform
  - espv2::api_proxy::service_control::set_service_agent
  - espv2::api_proxy::service_control::set_user_agent
  - espv2::api_proxy::service_control::CreateTimestamp
  - espv2::api_proxy::service_control::VerifyRequiredCheckFields
  - espv2::api_proxy::service_control::VerifyRequiredReportFields
  - espv2::api_proxy::service_control::SetOperationCommonFields
  - espv2::api_proxy::service_control::TraceResourceName
  - espv2::api_proxy::service_control::FillLogEntry
  - espv2::api_proxy::service_control::FilterPointers
  - espv2::api_proxy::service_control::AddMetricValue
  - espv2::api_proxy::service_control::AddInt64Metric
  - espv2::api_proxy::service_control::AddDistributionMetric
  - espv2::api_proxy::service_control::set_int64_metric_to_constant_1
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_response_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
  - espv2::api_proxy::service_control::get_service_agent
  - espv2::api_proxy::service_control::get_status_code
  - espv2::api_proxy::service_control::set_credential_id
  - espv2::api_proxy::service_control::set_error_type
  - espv2::api_proxy::service_control::set_protocol
  - espv2::api_proxy::service_control::set_backend_protocol
  - espv2::api_proxy::service_control::set_consumer_project
  - espv2::api_proxy::service_control::set_referer
  - espv2::api_proxy::service_control::set_response_code
  - espv2::api_proxy::service_control::set_response_code_class
  - espv2::api_proxy::service_control::set_status_code
  - espv2::api_proxy::service_control::set_location
  - espv2::api_proxy::service_control::set_api_method
  - espv2::api_proxy::service_control::set_api_version
  - espv2::api_proxy::service_control::set_platform
  - espv2::api_proxy::service_control::set_service_agent
  - espv2::api_proxy::service_control::set_user_agent
  - espv2::api_proxy::service_control::CreateTimestamp
  - espv2::api_proxy::service_control::VerifyRequiredCheckFields
  - espv2::api_proxy::service_control::VerifyRequiredReportFields
  - espv2::api_proxy::service_control::SetOperationCommonFields
  - espv2::api_proxy::service_control::TraceResourceName
  - espv2::api_proxy::service_control::FillLogEntry
  - espv2::api_proxy::service_control::FilterPointers
  - espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
  - espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
  - espv2::api_proxy::service_control::RequestBuilder::FillAllocateQuotaRequest
  - espv2::api_proxy::service_control::RequestBuilder::FillCheckRequest
  - espv2::api_proxy::service_control::RequestBuilder::FillReportRequest
  - espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
  - espv2::api_proxy::service_control::RequestBuilder::IsMetricSupported
  - espv2::api_proxy::service_control::RequestBuilder::IsLabelSupported
  - espv2::api_proxy::service_control::AddMetricValue
  - espv2::api_proxy::service_control::AddInt64Metric
  - espv2::api_proxy::service_control::AddDistributionMetric
  - espv2::api_proxy::service_control::set_int64_metric_to_constant_1
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_response_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
  - espv2::api_proxy::service_control::get_service_agent
  - espv2::api_proxy::service_control::get_status_code
  - espv2::api_proxy::service_control::set_credential_id
  - espv2::api_proxy::service_control::set_error_type
  - espv2::api_proxy::service_control::set_protocol
  - espv2::api_proxy::service_control::set_backend_protocol
  - espv2::api_proxy::service_control::set_consumer_project
  - espv2::api_proxy::service_control::set_referer
  - espv2::api_proxy::service_control::set_response_code
  - espv2::api_proxy::service_control::set_response_code_class
  - espv2::api_proxy::service_control::set_status_code
  - espv2::api_proxy::service_control::set_location
  - espv2::api_proxy::service_control::set_api_method
  - espv2::api_proxy::service_control::set_api_version
  - espv2::api_proxy::service_control::set_platform
  - espv2::api_proxy::service_control::set_service_agent
  - espv2::api_proxy::service_control::set_user_agent
  - espv2::api_proxy::service_control::CreateTimestamp
  - espv2::api_proxy::service_control::VerifyRequiredCheckFields
  - espv2::api_proxy::service_control::VerifyRequiredReportFields
  - espv2::api_proxy::service_control::SetOperationCommonFields
  - espv2::api_proxy::service_control::TraceResourceName
  - espv2::api_proxy::service_control::FillLogEntry
  - espv2::api_proxy::service_control::FilterPointers
  - espv2::api_proxy::service_control::AddMetricValue
  - espv2::api_proxy::service_control::AddInt64Metric
  - espv2::api_proxy::service_control::AddDistributionMetric
  - espv2::api_proxy::service_control::set_int64_metric_to_constant_1
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_response_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
  - espv2::api_proxy::service_control::get_service_agent
  - espv2::api_proxy::service_control::get_status_code
  - espv2::api_proxy::service_control::set_credential_id
  - espv2::api_proxy::service_control::set_error_type
  - espv2::api_proxy::service_control::set_protocol
  - espv2::api_proxy::service_control::set_backend_protocol
  - espv2::api_proxy::service_control::set_consumer_project
  - espv2::api_proxy::service_control::set_referer
  - espv2::api_proxy::service_control::set_response_code
  - espv2::api_proxy::service_control::set_response_code_class
  - espv2::api_proxy::service_control::set_status_code
  - espv2::api_proxy::service_control::set_location
  - espv2::api_proxy::service_control::set_api_method
  - espv2::api_proxy::service_control::set_api_version
  - espv2::api_proxy::service_control::set_platform
  - espv2::api_proxy::service_control::set_service_agent
  - espv2::api_proxy::service_control::set_user_agent
  - espv2::api_proxy::service_control::CreateTimestamp
  - espv2::api_proxy::service_control::VerifyRequiredCheckFields
  - espv2::api_proxy::service_control::VerifyRequiredReportFields
  - espv2::api_proxy::service_control::SetOperationCommonFields
  - espv2::api_proxy::service_control::TraceResourceName
  - espv2::api_proxy::service_control::FillLogEntry
  - espv2::api_proxy::service_control::FilterPointers
  - espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
  - espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
  - espv2::api_proxy::service_control::RequestBuilder::FillAllocateQuotaRequest
  - espv2::api_proxy::service_control::RequestBuilder::FillCheckRequest
  - espv2::api_proxy::service_control::RequestBuilder::FillReportRequest
  - espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
  - espv2::api_proxy::service_control::RequestBuilder::IsMetricSupported
  - espv2::api_proxy::service_control::RequestBuilder::IsLabelSupported
  - espv2::api_proxy::service_control::AddMetricValue
  - espv2::api_proxy::service_control::AddInt64Metric
  - espv2::api_proxy::service_control::AddDistributionMetric
  - espv2::api_proxy::service_control::set_int64_metric_to_constant_1
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_response_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
  - espv2::api_proxy::service_control::get_service_agent
  - espv2::api_proxy::service_control::get_status_code
  - espv2::api_proxy::service_control::set_credential_id
  - espv2::api_proxy::service_control::set_error_type
  - espv2::api_proxy::service_control::set_protocol
  - espv2::api_proxy::service_control::set_backend_protocol
  - espv2::api_proxy::service_control::set_consumer_project
  - espv2::api_proxy::service_control::set_referer
  - espv2::api_proxy::service_control::set_response_code
  - espv2::api_proxy::service_control::set_response_code_class
  - espv2::api_proxy::service_control::set_status_code
  - espv2::api_proxy::service_control::set_location
  - espv2::api_proxy::service_control::set_api_method
  - espv2::api_proxy::service_control::set_api_version
  - espv2::api_proxy::service_control::set_platform
  - espv2::api_proxy::service_control::set_service_agent
  - espv2::api_proxy::service_control::set_user_agent
  - espv2::api_proxy::service_control::CreateTimestamp
  - espv2::api_proxy::service_control::VerifyRequiredCheckFields
  - espv2::api_proxy::service_control::VerifyRequiredReportFields
  - espv2::api_proxy::service_control::SetOperationCommonFields
  - espv2::api_proxy::service_control::TraceResourceName
  - espv2::api_proxy::service_control::FillLogEntry
  - espv2::api_proxy::service_control::FilterPointers
  - espv2::api_proxy::service_control::AddMetricValue
  - espv2::api_proxy::service_control::AddInt64Metric
  - espv2::api_proxy::service_control::AddDistributionMetric
  - espv2::api_proxy::service_control::set_int64_metric_to_constant_1
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_response_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
  - espv2::api_proxy::service_control::get_service_agent
  - espv2::api_proxy::service_control::get_status_code
  - espv2::api_proxy::service_control::set_credential_id
  - espv2::api_proxy::service_control::set_error_type
  - espv2::api_proxy::service_control::set_protocol
  - espv2::api_proxy::service_control::set_backend_protocol
  - espv2::api_proxy::service_control::set_consumer_project
  - espv2::api_proxy::service_control::set_referer
  - espv2::api_proxy::service_control::set_response_code
  - espv2::api_proxy::service_control::set_response_code_class
  - espv2::api_proxy::service_control::set_status_code
  - espv2::api_proxy::service_control::set_location
  - espv2::api_proxy::service_control::set_api_method
  - espv2::api_proxy::service_control::set_api_version
  - espv2::api_proxy::service_control::set_platform
  - espv2::api_proxy::service_control::set_service_agent
  - espv2::api_proxy::service_control::set_user_agent
  - espv2::api_proxy::service_control::CreateTimestamp
  - espv2::api_proxy::service_control::VerifyRequiredCheckFields
  - espv2::api_proxy::service_control::VerifyRequiredReportFields
  - espv2::api_proxy::service_control::SetOperationCommonFields
  - espv2::api_proxy::service_control::TraceResourceName
  - espv2::api_proxy::service_control::FillLogEntry
  - espv2::api_proxy::service_control::FilterPointers
  - espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
  - espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
  - espv2::api_proxy::service_control::RequestBuilder::FillAllocateQuotaRequest
  - espv2::api_proxy::service_control::RequestBuilder::FillCheckRequest
  - espv2::api_proxy::service_control::RequestBuilder::FillReportRequest
  - espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
  - espv2::api_proxy::service_control::RequestBuilder::IsMetricSupported
  - espv2::api_proxy::service_control::RequestBuilder::IsLabelSupported
  - espv2::api_proxy::service_control::AddMetricValue
  - espv2::api_proxy::service_control::AddInt64Metric
  - espv2::api_proxy::service_control::AddDistributionMetric
  - espv2::api_proxy::service_control::set_int64_metric_to_constant_1
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_response_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
  - espv2::api_proxy::service_control::get_service_agent
  - espv2::api_proxy::service_control::get_status_code
  - espv2::api_proxy::service_control::set_credential_id
  - espv2::api_proxy::service_control::set_error_type
  - espv2::api_proxy::service_control::set_protocol
  - espv2::api_proxy::service_control::set_backend_protocol
  - espv2::api_proxy::service_control::set_consumer_project
  - espv2::api_proxy::service_control::set_referer
  - espv2::api_proxy::service_control::set_response_code
  - espv2::api_proxy::service_control::set_response_code_class
  - espv2::api_proxy::service_control::set_status_code
  - espv2::api_proxy::service_control::set_location
  - espv2::api_proxy::service_control::set_api_method
  - espv2::api_proxy::service_control::set_api_version
  - espv2::api_proxy::service_control::set_platform
  - espv2::api_proxy::service_control::set_service_agent
  - espv2::api_proxy::service_control::set_user_agent
  - espv2::api_proxy::service_control::CreateTimestamp
  - espv2::api_proxy::service_control::VerifyRequiredCheckFields
  - espv2::api_proxy::service_control::VerifyRequiredReportFields
  - espv2::api_proxy::service_control::SetOperationCommonFields
  - espv2::api_proxy::service_control::TraceResourceName
  - espv2::api_proxy::service_control::FillLogEntry
  - espv2::api_proxy::service_control::FilterPointers
  - espv2::api_proxy::service_control::AddMetricValue
  - espv2::api_proxy::service_control::AddInt64Metric
  - espv2::api_proxy::service_control::AddDistributionMetric
  - espv2::api_proxy::service_control::set_int64_metric_to_constant_1
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_response_size
  - espv2::api_proxy::service_control::set_distribution_metric_to_request_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_backend_time
  - espv2::api_proxy::service_control::set_distribution_metric_to_overhead_time
  - espv2::api_proxy::service_control::get_service_agent
  - espv2::api_proxy::service_control::get_status_code
  - espv2::api_proxy::service_control::set_credential_id
  - espv2::api_proxy::service_control::set_error_type
  - espv2::api_proxy::service_control::set_protocol
  - espv2::api_proxy::service_control::set_backend_protocol
  - espv2::api_proxy::service_control::set_consumer_project
  - espv2::api_proxy::service_control::set_referer
  - espv2::api_proxy::service_control::set_response_code
  - espv2::api_proxy::service_control::set_response_code_class
  - espv2::api_proxy::service_control::set_status_code
  - espv2::api_proxy::service_control::set_location
  - espv2::api_proxy::service_control::set_api_method
  - espv2::api_proxy::service_control::set_api_version
  - espv2::api_proxy::service_control::set_platform
  - espv2::api_proxy::service_control::set_service_agent
  - espv2::api_proxy::service_control::set_user_agent
  - espv2::api_proxy::service_control::CreateTimestamp
  - espv2::api_proxy::service_control::VerifyRequiredCheckFields
  - espv2::api_proxy::service_control::VerifyRequiredReportFields
  - espv2::api_proxy::service_control::SetOperationCommonFields
  - espv2::api_proxy::service_control::TraceResourceName
  - espv2::api_proxy::service_control::FillLogEntry
  - espv2::api_proxy::service_control::FilterPointers
  - espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
  - espv2::api_proxy::service_control::RequestBuilder::RequestBuilder
  - espv2::api_proxy::service_control::RequestBuilder::FillAllocateQuotaRequest
  - espv2::api_proxy::service_control::RequestBuilder::FillCheckRequest
  - espv2::api_proxy::service_control::RequestBuilder::FillReportRequest
  - espv2::api_proxy::service_control::RequestBuilder::AppendByConsumerOperations
  - espv2::api_proxy::service_control::RequestBuilder::IsMetricSupported
  - espv2::api_proxy::service_control::RequestBuilder::IsLabelSupported
  source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
  types:
    enum:
    - enumerators:
      - name: PRODUCER
        value: '0'
      - name: PRODUCER_BY_CONSUMER
        value: '2'
      - name: CONSUMER
        value: '1'
      item_type: enum
      name: Mark
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - enumerators:
      - name: START
        value: '0'
      - name: FINAL
        value: '2'
      - name: INTERMEDIATE
        value: '1'
      item_type: enum
      name: Tag
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - enumerators:
      - name: USER
        value: '0'
      - name: SYSTEM
        value: '1'
      item_type: enum
      name: Kind
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - enumerators:
      - name: PRODUCER
        value: '0'
      - name: PRODUCER_BY_CONSUMER
        value: '2'
      - name: CONSUMER
        value: '1'
      item_type: enum
      name: Mark
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - enumerators:
      - name: START
        value: '0'
      - name: FINAL
        value: '2'
      - name: INTERMEDIATE
        value: '1'
      item_type: enum
      name: Tag
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - enumerators:
      - name: USER
        value: '0'
      - name: SYSTEM
        value: '1'
      item_type: enum
      name: Kind
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - enumerators:
      - name: PRODUCER
        value: '0'
      - name: PRODUCER_BY_CONSUMER
        value: '2'
      - name: CONSUMER
        value: '1'
      item_type: enum
      name: Mark
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - enumerators:
      - name: START
        value: '0'
      - name: FINAL
        value: '2'
      - name: INTERMEDIATE
        value: '1'
      item_type: enum
      name: Tag
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - enumerators:
      - name: USER
        value: '0'
      - name: SYSTEM
        value: '1'
      item_type: enum
      name: Kind
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - enumerators:
      - name: PRODUCER
        value: '0'
      - name: PRODUCER_BY_CONSUMER
        value: '2'
      - name: CONSUMER
        value: '1'
      item_type: enum
      name: Mark
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - enumerators:
      - name: START
        value: '0'
      - name: FINAL
        value: '2'
      - name: INTERMEDIATE
        value: '1'
      item_type: enum
      name: Tag
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - enumerators:
      - name: USER
        value: '0'
      - name: SYSTEM
        value: '1'
      item_type: enum
      name: Kind
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - enumerators:
      - name: PRODUCER
        value: '0'
      - name: PRODUCER_BY_CONSUMER
        value: '2'
      - name: CONSUMER
        value: '1'
      item_type: enum
      name: Mark
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - enumerators:
      - name: START
        value: '0'
      - name: FINAL
        value: '2'
      - name: INTERMEDIATE
        value: '1'
      item_type: enum
      name: Tag
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - enumerators:
      - name: USER
        value: '0'
      - name: SYSTEM
        value: '1'
      item_type: enum
      name: Kind
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - enumerators:
      - name: PRODUCER
        value: '0'
      - name: PRODUCER_BY_CONSUMER
        value: '2'
      - name: CONSUMER
        value: '1'
      item_type: enum
      name: Mark
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - enumerators:
      - name: START
        value: '0'
      - name: FINAL
        value: '2'
      - name: INTERMEDIATE
        value: '1'
      item_type: enum
      name: Tag
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - enumerators:
      - name: USER
        value: '0'
      - name: SYSTEM
        value: '1'
      item_type: enum
      name: Kind
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - enumerators:
      - name: PRODUCER
        value: '0'
      - name: PRODUCER_BY_CONSUMER
        value: '2'
      - name: CONSUMER
        value: '1'
      item_type: enum
      name: Mark
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - enumerators:
      - name: START
        value: '0'
      - name: FINAL
        value: '2'
      - name: INTERMEDIATE
        value: '1'
      item_type: enum
      name: Tag
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - enumerators:
      - name: USER
        value: '0'
      - name: SYSTEM
        value: '1'
      item_type: enum
      name: Kind
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - enumerators:
      - name: PRODUCER
        value: '0'
      - name: PRODUCER_BY_CONSUMER
        value: '2'
      - name: CONSUMER
        value: '1'
      item_type: enum
      name: Mark
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - enumerators:
      - name: START
        value: '0'
      - name: FINAL
        value: '2'
      - name: INTERMEDIATE
        value: '1'
      item_type: enum
      name: Tag
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - enumerators:
      - name: USER
        value: '0'
      - name: SYSTEM
        value: '1'
      item_type: enum
      name: Kind
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    preproc_defs: []
    structs:
    - fields:
      - name: '* name'
        type: char
      - name: metric_kind
        type: ::google::api::MetricDescriptor_MetricKind
      - name: value_type
        type: ::google::api::MetricDescriptor_ValueType
      - name: tag
        type: Tag
      - name: mark
        type: Mark
      - name: "(*set)(const SupportedMetric& m, const ReportRequestInfo& info,\n                Operation*
          operation)"
        type: Status
      item_type: struct
      name: SupportedMetric
      pos:
        line_end: 69
        line_start: 58
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: '* name'
        type: char
      - name: value_type
        type: ::google::api::LabelDescriptor_ValueType
      - name: kind
        type: Kind
      - name: "(*set)(const SupportedLabel& l, const ReportRequestInfo& info,\n                Map<std::string,
          std::string>* labels)"
        type: Status
      - name: by_consumer_only
        type: bool
      item_type: struct
      name: SupportedLabel
      pos:
        line_end: 82
        line_start: 71
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: buckets
        type: int
      - name: growth
        type: double
      - name: scale
        type: double
      item_type: struct
      name: DistributionHelperOptions
      pos:
        line_end: 105
        line_start: 101
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: buckets
        type: int
      - name: growth
        type: double
      - name: scale
        type: double
      item_type: struct
      name: DistributionHelperOptions
      pos:
        line_end: 105
        line_start: 101
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: '* name'
        type: char
      - name: metric_kind
        type: ::google::api::MetricDescriptor_MetricKind
      - name: value_type
        type: ::google::api::MetricDescriptor_ValueType
      - name: tag
        type: Tag
      - name: mark
        type: Mark
      - name: "(*set)(const SupportedMetric& m, const ReportRequestInfo& info,\n                Operation*
          operation)"
        type: Status
      item_type: struct
      name: SupportedMetric
      pos:
        line_end: 69
        line_start: 58
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: '* name'
        type: char
      - name: value_type
        type: ::google::api::LabelDescriptor_ValueType
      - name: kind
        type: Kind
      - name: "(*set)(const SupportedLabel& l, const ReportRequestInfo& info,\n                Map<std::string,
          std::string>* labels)"
        type: Status
      - name: by_consumer_only
        type: bool
      item_type: struct
      name: SupportedLabel
      pos:
        line_end: 82
        line_start: 71
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: buckets
        type: int
      - name: growth
        type: double
      - name: scale
        type: double
      item_type: struct
      name: DistributionHelperOptions
      pos:
        line_end: 105
        line_start: 101
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: buckets
        type: int
      - name: growth
        type: double
      - name: scale
        type: double
      item_type: struct
      name: DistributionHelperOptions
      pos:
        line_end: 105
        line_start: 101
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: '* name'
        type: char
      - name: metric_kind
        type: ::google::api::MetricDescriptor_MetricKind
      - name: value_type
        type: ::google::api::MetricDescriptor_ValueType
      - name: tag
        type: Tag
      - name: mark
        type: Mark
      - name: "(*set)(const SupportedMetric& m, const ReportRequestInfo& info,\n                Operation*
          operation)"
        type: Status
      item_type: struct
      name: SupportedMetric
      pos:
        line_end: 69
        line_start: 58
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: '* name'
        type: char
      - name: value_type
        type: ::google::api::LabelDescriptor_ValueType
      - name: kind
        type: Kind
      - name: "(*set)(const SupportedLabel& l, const ReportRequestInfo& info,\n                Map<std::string,
          std::string>* labels)"
        type: Status
      - name: by_consumer_only
        type: bool
      item_type: struct
      name: SupportedLabel
      pos:
        line_end: 82
        line_start: 71
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: buckets
        type: int
      - name: growth
        type: double
      - name: scale
        type: double
      item_type: struct
      name: DistributionHelperOptions
      pos:
        line_end: 105
        line_start: 101
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: buckets
        type: int
      - name: growth
        type: double
      - name: scale
        type: double
      item_type: struct
      name: DistributionHelperOptions
      pos:
        line_end: 105
        line_start: 101
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: '* name'
        type: char
      - name: metric_kind
        type: ::google::api::MetricDescriptor_MetricKind
      - name: value_type
        type: ::google::api::MetricDescriptor_ValueType
      - name: tag
        type: Tag
      - name: mark
        type: Mark
      - name: "(*set)(const SupportedMetric& m, const ReportRequestInfo& info,\n                Operation*
          operation)"
        type: Status
      item_type: struct
      name: SupportedMetric
      pos:
        line_end: 69
        line_start: 58
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: '* name'
        type: char
      - name: value_type
        type: ::google::api::LabelDescriptor_ValueType
      - name: kind
        type: Kind
      - name: "(*set)(const SupportedLabel& l, const ReportRequestInfo& info,\n                Map<std::string,
          std::string>* labels)"
        type: Status
      - name: by_consumer_only
        type: bool
      item_type: struct
      name: SupportedLabel
      pos:
        line_end: 82
        line_start: 71
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: buckets
        type: int
      - name: growth
        type: double
      - name: scale
        type: double
      item_type: struct
      name: DistributionHelperOptions
      pos:
        line_end: 105
        line_start: 101
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: buckets
        type: int
      - name: growth
        type: double
      - name: scale
        type: double
      item_type: struct
      name: DistributionHelperOptions
      pos:
        line_end: 105
        line_start: 101
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: '* name'
        type: char
      - name: metric_kind
        type: ::google::api::MetricDescriptor_MetricKind
      - name: value_type
        type: ::google::api::MetricDescriptor_ValueType
      - name: tag
        type: Tag
      - name: mark
        type: Mark
      - name: "(*set)(const SupportedMetric& m, const ReportRequestInfo& info,\n                Operation*
          operation)"
        type: Status
      item_type: struct
      name: SupportedMetric
      pos:
        line_end: 69
        line_start: 58
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: '* name'
        type: char
      - name: value_type
        type: ::google::api::LabelDescriptor_ValueType
      - name: kind
        type: Kind
      - name: "(*set)(const SupportedLabel& l, const ReportRequestInfo& info,\n                Map<std::string,
          std::string>* labels)"
        type: Status
      - name: by_consumer_only
        type: bool
      item_type: struct
      name: SupportedLabel
      pos:
        line_end: 82
        line_start: 71
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: buckets
        type: int
      - name: growth
        type: double
      - name: scale
        type: double
      item_type: struct
      name: DistributionHelperOptions
      pos:
        line_end: 105
        line_start: 101
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: buckets
        type: int
      - name: growth
        type: double
      - name: scale
        type: double
      item_type: struct
      name: DistributionHelperOptions
      pos:
        line_end: 105
        line_start: 101
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: '* name'
        type: char
      - name: metric_kind
        type: ::google::api::MetricDescriptor_MetricKind
      - name: value_type
        type: ::google::api::MetricDescriptor_ValueType
      - name: tag
        type: Tag
      - name: mark
        type: Mark
      - name: "(*set)(const SupportedMetric& m, const ReportRequestInfo& info,\n                Operation*
          operation)"
        type: Status
      item_type: struct
      name: SupportedMetric
      pos:
        line_end: 69
        line_start: 58
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: '* name'
        type: char
      - name: value_type
        type: ::google::api::LabelDescriptor_ValueType
      - name: kind
        type: Kind
      - name: "(*set)(const SupportedLabel& l, const ReportRequestInfo& info,\n                Map<std::string,
          std::string>* labels)"
        type: Status
      - name: by_consumer_only
        type: bool
      item_type: struct
      name: SupportedLabel
      pos:
        line_end: 82
        line_start: 71
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: buckets
        type: int
      - name: growth
        type: double
      - name: scale
        type: double
      item_type: struct
      name: DistributionHelperOptions
      pos:
        line_end: 105
        line_start: 101
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: buckets
        type: int
      - name: growth
        type: double
      - name: scale
        type: double
      item_type: struct
      name: DistributionHelperOptions
      pos:
        line_end: 105
        line_start: 101
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: '* name'
        type: char
      - name: metric_kind
        type: ::google::api::MetricDescriptor_MetricKind
      - name: value_type
        type: ::google::api::MetricDescriptor_ValueType
      - name: tag
        type: Tag
      - name: mark
        type: Mark
      - name: "(*set)(const SupportedMetric& m, const ReportRequestInfo& info,\n                Operation*
          operation)"
        type: Status
      item_type: struct
      name: SupportedMetric
      pos:
        line_end: 69
        line_start: 58
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: '* name'
        type: char
      - name: value_type
        type: ::google::api::LabelDescriptor_ValueType
      - name: kind
        type: Kind
      - name: "(*set)(const SupportedLabel& l, const ReportRequestInfo& info,\n                Map<std::string,
          std::string>* labels)"
        type: Status
      - name: by_consumer_only
        type: bool
      item_type: struct
      name: SupportedLabel
      pos:
        line_end: 82
        line_start: 71
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: buckets
        type: int
      - name: growth
        type: double
      - name: scale
        type: double
      item_type: struct
      name: DistributionHelperOptions
      pos:
        line_end: 105
        line_start: 101
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: buckets
        type: int
      - name: growth
        type: double
      - name: scale
        type: double
      item_type: struct
      name: DistributionHelperOptions
      pos:
        line_end: 105
        line_start: 101
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: '* name'
        type: char
      - name: metric_kind
        type: ::google::api::MetricDescriptor_MetricKind
      - name: value_type
        type: ::google::api::MetricDescriptor_ValueType
      - name: tag
        type: Tag
      - name: mark
        type: Mark
      - name: "(*set)(const SupportedMetric& m, const ReportRequestInfo& info,\n                Operation*
          operation)"
        type: Status
      item_type: struct
      name: SupportedMetric
      pos:
        line_end: 69
        line_start: 58
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: '* name'
        type: char
      - name: value_type
        type: ::google::api::LabelDescriptor_ValueType
      - name: kind
        type: Kind
      - name: "(*set)(const SupportedLabel& l, const ReportRequestInfo& info,\n                Map<std::string,
          std::string>* labels)"
        type: Status
      - name: by_consumer_only
        type: bool
      item_type: struct
      name: SupportedLabel
      pos:
        line_end: 82
        line_start: 71
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: buckets
        type: int
      - name: growth
        type: double
      - name: scale
        type: double
      item_type: struct
      name: DistributionHelperOptions
      pos:
        line_end: 105
        line_start: 101
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    - fields:
      - name: buckets
        type: int
      - name: growth
        type: double
      - name: scale
        type: double
      item_type: struct
      name: DistributionHelperOptions
      pos:
        line_end: 105
        line_start: 101
        source_file: /src/esp-v2/src/api_proxy/service_control/request_builder.cc
    typedefs: []
    union: []
- function_names:
  - espv2::api_proxy::service_control::ConvertCheckResponse
  - espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
  - espv2::api_proxy::service_control::ConvertCheckResponse
  - espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
  - espv2::api_proxy::service_control::ConvertCheckResponse
  - espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
  - espv2::api_proxy::service_control::ConvertCheckResponse
  - espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
  - espv2::api_proxy::service_control::ConvertCheckResponse
  - espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
  - espv2::api_proxy::service_control::ConvertCheckResponse
  - espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
  - espv2::api_proxy::service_control::ConvertCheckResponse
  - espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
  - espv2::api_proxy::service_control::ConvertCheckResponse
  - espv2::api_proxy::service_control::ConvertAllocateQuotaResponse
  source_file: /src/esp-v2/src/api_proxy/service_control/check_response_convert_utils.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::api_proxy::service_control::Parse
  - espv2::api_proxy::service_control::StartsWith
  - espv2::api_proxy::service_control::IsLabelSupported
  - espv2::api_proxy::service_control::IsMetricSupported
  - espv2::api_proxy::service_control::Parse
  - espv2::api_proxy::service_control::StartsWith
  - espv2::api_proxy::service_control::IsLabelSupported
  - espv2::api_proxy::service_control::IsMetricSupported
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::Parse
  - espv2::api_proxy::service_control::StartsWith
  - espv2::api_proxy::service_control::IsLabelSupported
  - espv2::api_proxy::service_control::IsMetricSupported
  - espv2::api_proxy::service_control::Parse
  - espv2::api_proxy::service_control::StartsWith
  - espv2::api_proxy::service_control::IsLabelSupported
  - espv2::api_proxy::service_control::IsMetricSupported
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::Parse
  - espv2::api_proxy::service_control::StartsWith
  - espv2::api_proxy::service_control::IsLabelSupported
  - espv2::api_proxy::service_control::IsMetricSupported
  - espv2::api_proxy::service_control::Parse
  - espv2::api_proxy::service_control::StartsWith
  - espv2::api_proxy::service_control::IsLabelSupported
  - espv2::api_proxy::service_control::IsMetricSupported
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::Parse
  - espv2::api_proxy::service_control::StartsWith
  - espv2::api_proxy::service_control::IsLabelSupported
  - espv2::api_proxy::service_control::IsMetricSupported
  - espv2::api_proxy::service_control::Parse
  - espv2::api_proxy::service_control::StartsWith
  - espv2::api_proxy::service_control::IsLabelSupported
  - espv2::api_proxy::service_control::IsMetricSupported
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::Parse
  - espv2::api_proxy::service_control::StartsWith
  - espv2::api_proxy::service_control::IsLabelSupported
  - espv2::api_proxy::service_control::IsMetricSupported
  - espv2::api_proxy::service_control::Parse
  - espv2::api_proxy::service_control::StartsWith
  - espv2::api_proxy::service_control::IsLabelSupported
  - espv2::api_proxy::service_control::IsMetricSupported
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::Parse
  - espv2::api_proxy::service_control::StartsWith
  - espv2::api_proxy::service_control::IsLabelSupported
  - espv2::api_proxy::service_control::IsMetricSupported
  - espv2::api_proxy::service_control::Parse
  - espv2::api_proxy::service_control::StartsWith
  - espv2::api_proxy::service_control::IsLabelSupported
  - espv2::api_proxy::service_control::IsMetricSupported
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::Parse
  - espv2::api_proxy::service_control::StartsWith
  - espv2::api_proxy::service_control::IsLabelSupported
  - espv2::api_proxy::service_control::IsMetricSupported
  - espv2::api_proxy::service_control::Parse
  - espv2::api_proxy::service_control::StartsWith
  - espv2::api_proxy::service_control::IsLabelSupported
  - espv2::api_proxy::service_control::IsMetricSupported
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::Parse
  - espv2::api_proxy::service_control::StartsWith
  - espv2::api_proxy::service_control::IsLabelSupported
  - espv2::api_proxy::service_control::IsMetricSupported
  - espv2::api_proxy::service_control::Parse
  - espv2::api_proxy::service_control::StartsWith
  - espv2::api_proxy::service_control::IsLabelSupported
  - espv2::api_proxy::service_control::IsMetricSupported
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  - espv2::api_proxy::service_control::TEST
  source_file: /src/esp-v2/src/api_proxy/service_control/logs_metrics_loader_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::api_proxy::service_control::protocol::ToString
  - espv2::api_proxy::service_control::protocol::ToString
  - espv2::api_proxy::service_control::api_key::ToString
  - espv2::api_proxy::service_control::api_key::ToString
  - espv2::api_proxy::service_control::LatencyInfo
  - espv2::api_proxy::service_control::OperationInfo
  - espv2::api_proxy::service_control::ScResponseError
  - espv2::api_proxy::service_control::ScResponseError
  - espv2::api_proxy::service_control::CheckResponseInfo
  - espv2::api_proxy::service_control::QuotaRequestInfo
  - espv2::api_proxy::service_control::QuotaResponseInfo
  - espv2::api_proxy::service_control::ReportRequestInfo
  - espv2::api_proxy::service_control::protocol::ToString
  - espv2::api_proxy::service_control::protocol::ToString
  - espv2::api_proxy::service_control::api_key::ToString
  - espv2::api_proxy::service_control::api_key::ToString
  - espv2::api_proxy::service_control::LatencyInfo
  - espv2::api_proxy::service_control::OperationInfo
  - espv2::api_proxy::service_control::ScResponseError
  - espv2::api_proxy::service_control::ScResponseError
  - espv2::api_proxy::service_control::CheckResponseInfo
  - espv2::api_proxy::service_control::QuotaRequestInfo
  - espv2::api_proxy::service_control::QuotaResponseInfo
  - espv2::api_proxy::service_control::ReportRequestInfo
  - espv2::api_proxy::service_control::protocol::ToString
  - espv2::api_proxy::service_control::protocol::ToString
  - espv2::api_proxy::service_control::api_key::ToString
  - espv2::api_proxy::service_control::api_key::ToString
  - espv2::api_proxy::service_control::LatencyInfo
  - espv2::api_proxy::service_control::OperationInfo
  - espv2::api_proxy::service_control::ScResponseError
  - espv2::api_proxy::service_control::ScResponseError
  - espv2::api_proxy::service_control::CheckResponseInfo
  - espv2::api_proxy::service_control::QuotaRequestInfo
  - espv2::api_proxy::service_control::QuotaResponseInfo
  - espv2::api_proxy::service_control::ReportRequestInfo
  - espv2::api_proxy::service_control::protocol::ToString
  - espv2::api_proxy::service_control::protocol::ToString
  - espv2::api_proxy::service_control::api_key::ToString
  - espv2::api_proxy::service_control::api_key::ToString
  - espv2::api_proxy::service_control::LatencyInfo
  - espv2::api_proxy::service_control::OperationInfo
  - espv2::api_proxy::service_control::ScResponseError
  - espv2::api_proxy::service_control::ScResponseError
  - espv2::api_proxy::service_control::CheckResponseInfo
  - espv2::api_proxy::service_control::QuotaRequestInfo
  - espv2::api_proxy::service_control::QuotaResponseInfo
  - espv2::api_proxy::service_control::ReportRequestInfo
  - espv2::api_proxy::service_control::protocol::ToString
  - espv2::api_proxy::service_control::protocol::ToString
  - espv2::api_proxy::service_control::api_key::ToString
  - espv2::api_proxy::service_control::api_key::ToString
  - espv2::api_proxy::service_control::LatencyInfo
  - espv2::api_proxy::service_control::OperationInfo
  - espv2::api_proxy::service_control::ScResponseError
  - espv2::api_proxy::service_control::ScResponseError
  - espv2::api_proxy::service_control::CheckResponseInfo
  - espv2::api_proxy::service_control::QuotaRequestInfo
  - espv2::api_proxy::service_control::QuotaResponseInfo
  - espv2::api_proxy::service_control::ReportRequestInfo
  - espv2::api_proxy::service_control::protocol::ToString
  - espv2::api_proxy::service_control::protocol::ToString
  - espv2::api_proxy::service_control::api_key::ToString
  - espv2::api_proxy::service_control::api_key::ToString
  - espv2::api_proxy::service_control::LatencyInfo
  - espv2::api_proxy::service_control::OperationInfo
  - espv2::api_proxy::service_control::ScResponseError
  - espv2::api_proxy::service_control::ScResponseError
  - espv2::api_proxy::service_control::CheckResponseInfo
  - espv2::api_proxy::service_control::QuotaRequestInfo
  - espv2::api_proxy::service_control::QuotaResponseInfo
  - espv2::api_proxy::service_control::ReportRequestInfo
  - espv2::api_proxy::service_control::protocol::ToString
  - espv2::api_proxy::service_control::protocol::ToString
  - espv2::api_proxy::service_control::api_key::ToString
  - espv2::api_proxy::service_control::api_key::ToString
  - espv2::api_proxy::service_control::LatencyInfo
  - espv2::api_proxy::service_control::OperationInfo
  - espv2::api_proxy::service_control::ScResponseError
  - espv2::api_proxy::service_control::ScResponseError
  - espv2::api_proxy::service_control::CheckResponseInfo
  - espv2::api_proxy::service_control::QuotaRequestInfo
  - espv2::api_proxy::service_control::QuotaResponseInfo
  - espv2::api_proxy::service_control::ReportRequestInfo
  - espv2::api_proxy::service_control::protocol::ToString
  - espv2::api_proxy::service_control::protocol::ToString
  - espv2::api_proxy::service_control::api_key::ToString
  - espv2::api_proxy::service_control::api_key::ToString
  - espv2::api_proxy::service_control::LatencyInfo
  - espv2::api_proxy::service_control::OperationInfo
  - espv2::api_proxy::service_control::ScResponseError
  - espv2::api_proxy::service_control::ScResponseError
  - espv2::api_proxy::service_control::CheckResponseInfo
  - espv2::api_proxy::service_control::QuotaRequestInfo
  - espv2::api_proxy::service_control::QuotaResponseInfo
  - espv2::api_proxy::service_control::ReportRequestInfo
  source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
  types:
    enum:
    - enumerators:
      - name: UNKNOWN
        value: '0'
      - name: HTTP
        value: '1'
      - name: HTTPS
        value: '2'
      - name: GRPC
        value: '3'
      item_type: enum
      name: Protocol
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: UNKNOWN
        value: '0'
      - name: HTTP
        value: '1'
      - name: HTTPS
        value: '2'
      - name: GRPC
        value: '3'
      item_type: enum
      name: Protocol
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: NOT_CHECKED
        value: '0'
      - name: INVALID
        value: '1'
      - name: NOT_ENABLED
        value: '2'
      - name: VERIFIED
        value: '3'
      item_type: enum
      name: ApiKeyState
      pos:
        line_end: 62
        line_start: 50
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: NOT_CHECKED
        value: '0'
      - name: INVALID
        value: '1'
      - name: NOT_ENABLED
        value: '2'
      - name: VERIFIED
        value: '3'
      item_type: enum
      name: ApiKeyState
      pos:
        line_end: 62
        line_start: 50
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: ERROR_TYPE_UNSPECIFIED
        value: '0'
      - name: CONSUMER_BLOCKED
        value: '3'
      - name: API_KEY_INVALID
        value: '1'
      - name: CONSUMER_ERROR
        value: '4'
      - name: SERVICE_NOT_ACTIVATED
        value: '2'
      - name: CONSUMER_QUOTA
        value: '5'
      item_type: enum
      name: ScResponseErrorType
      pos:
        line_end: 142
        line_start: 135
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: UNKNOWN
        value: '0'
      - name: HTTP
        value: '1'
      - name: HTTPS
        value: '2'
      - name: GRPC
        value: '3'
      item_type: enum
      name: Protocol
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: UNKNOWN
        value: '0'
      - name: HTTP
        value: '1'
      - name: HTTPS
        value: '2'
      - name: GRPC
        value: '3'
      item_type: enum
      name: Protocol
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: NOT_CHECKED
        value: '0'
      - name: INVALID
        value: '1'
      - name: NOT_ENABLED
        value: '2'
      - name: VERIFIED
        value: '3'
      item_type: enum
      name: ApiKeyState
      pos:
        line_end: 62
        line_start: 50
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: NOT_CHECKED
        value: '0'
      - name: INVALID
        value: '1'
      - name: NOT_ENABLED
        value: '2'
      - name: VERIFIED
        value: '3'
      item_type: enum
      name: ApiKeyState
      pos:
        line_end: 62
        line_start: 50
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: ERROR_TYPE_UNSPECIFIED
        value: '0'
      - name: CONSUMER_BLOCKED
        value: '3'
      - name: API_KEY_INVALID
        value: '1'
      - name: CONSUMER_ERROR
        value: '4'
      - name: SERVICE_NOT_ACTIVATED
        value: '2'
      - name: CONSUMER_QUOTA
        value: '5'
      item_type: enum
      name: ScResponseErrorType
      pos:
        line_end: 142
        line_start: 135
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: UNKNOWN
        value: '0'
      - name: HTTP
        value: '1'
      - name: HTTPS
        value: '2'
      - name: GRPC
        value: '3'
      item_type: enum
      name: Protocol
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: UNKNOWN
        value: '0'
      - name: HTTP
        value: '1'
      - name: HTTPS
        value: '2'
      - name: GRPC
        value: '3'
      item_type: enum
      name: Protocol
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: NOT_CHECKED
        value: '0'
      - name: INVALID
        value: '1'
      - name: NOT_ENABLED
        value: '2'
      - name: VERIFIED
        value: '3'
      item_type: enum
      name: ApiKeyState
      pos:
        line_end: 62
        line_start: 50
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: NOT_CHECKED
        value: '0'
      - name: INVALID
        value: '1'
      - name: NOT_ENABLED
        value: '2'
      - name: VERIFIED
        value: '3'
      item_type: enum
      name: ApiKeyState
      pos:
        line_end: 62
        line_start: 50
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: ERROR_TYPE_UNSPECIFIED
        value: '0'
      - name: CONSUMER_BLOCKED
        value: '3'
      - name: API_KEY_INVALID
        value: '1'
      - name: CONSUMER_ERROR
        value: '4'
      - name: SERVICE_NOT_ACTIVATED
        value: '2'
      - name: CONSUMER_QUOTA
        value: '5'
      item_type: enum
      name: ScResponseErrorType
      pos:
        line_end: 142
        line_start: 135
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: UNKNOWN
        value: '0'
      - name: HTTP
        value: '1'
      - name: HTTPS
        value: '2'
      - name: GRPC
        value: '3'
      item_type: enum
      name: Protocol
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: UNKNOWN
        value: '0'
      - name: HTTP
        value: '1'
      - name: HTTPS
        value: '2'
      - name: GRPC
        value: '3'
      item_type: enum
      name: Protocol
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: NOT_CHECKED
        value: '0'
      - name: INVALID
        value: '1'
      - name: NOT_ENABLED
        value: '2'
      - name: VERIFIED
        value: '3'
      item_type: enum
      name: ApiKeyState
      pos:
        line_end: 62
        line_start: 50
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: NOT_CHECKED
        value: '0'
      - name: INVALID
        value: '1'
      - name: NOT_ENABLED
        value: '2'
      - name: VERIFIED
        value: '3'
      item_type: enum
      name: ApiKeyState
      pos:
        line_end: 62
        line_start: 50
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: ERROR_TYPE_UNSPECIFIED
        value: '0'
      - name: CONSUMER_BLOCKED
        value: '3'
      - name: API_KEY_INVALID
        value: '1'
      - name: CONSUMER_ERROR
        value: '4'
      - name: SERVICE_NOT_ACTIVATED
        value: '2'
      - name: CONSUMER_QUOTA
        value: '5'
      item_type: enum
      name: ScResponseErrorType
      pos:
        line_end: 142
        line_start: 135
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: UNKNOWN
        value: '0'
      - name: HTTP
        value: '1'
      - name: HTTPS
        value: '2'
      - name: GRPC
        value: '3'
      item_type: enum
      name: Protocol
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: UNKNOWN
        value: '0'
      - name: HTTP
        value: '1'
      - name: HTTPS
        value: '2'
      - name: GRPC
        value: '3'
      item_type: enum
      name: Protocol
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: NOT_CHECKED
        value: '0'
      - name: INVALID
        value: '1'
      - name: NOT_ENABLED
        value: '2'
      - name: VERIFIED
        value: '3'
      item_type: enum
      name: ApiKeyState
      pos:
        line_end: 62
        line_start: 50
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: NOT_CHECKED
        value: '0'
      - name: INVALID
        value: '1'
      - name: NOT_ENABLED
        value: '2'
      - name: VERIFIED
        value: '3'
      item_type: enum
      name: ApiKeyState
      pos:
        line_end: 62
        line_start: 50
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: ERROR_TYPE_UNSPECIFIED
        value: '0'
      - name: CONSUMER_BLOCKED
        value: '3'
      - name: API_KEY_INVALID
        value: '1'
      - name: CONSUMER_ERROR
        value: '4'
      - name: SERVICE_NOT_ACTIVATED
        value: '2'
      - name: CONSUMER_QUOTA
        value: '5'
      item_type: enum
      name: ScResponseErrorType
      pos:
        line_end: 142
        line_start: 135
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: UNKNOWN
        value: '0'
      - name: HTTP
        value: '1'
      - name: HTTPS
        value: '2'
      - name: GRPC
        value: '3'
      item_type: enum
      name: Protocol
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: UNKNOWN
        value: '0'
      - name: HTTP
        value: '1'
      - name: HTTPS
        value: '2'
      - name: GRPC
        value: '3'
      item_type: enum
      name: Protocol
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: NOT_CHECKED
        value: '0'
      - name: INVALID
        value: '1'
      - name: NOT_ENABLED
        value: '2'
      - name: VERIFIED
        value: '3'
      item_type: enum
      name: ApiKeyState
      pos:
        line_end: 62
        line_start: 50
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: NOT_CHECKED
        value: '0'
      - name: INVALID
        value: '1'
      - name: NOT_ENABLED
        value: '2'
      - name: VERIFIED
        value: '3'
      item_type: enum
      name: ApiKeyState
      pos:
        line_end: 62
        line_start: 50
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: ERROR_TYPE_UNSPECIFIED
        value: '0'
      - name: CONSUMER_BLOCKED
        value: '3'
      - name: API_KEY_INVALID
        value: '1'
      - name: CONSUMER_ERROR
        value: '4'
      - name: SERVICE_NOT_ACTIVATED
        value: '2'
      - name: CONSUMER_QUOTA
        value: '5'
      item_type: enum
      name: ScResponseErrorType
      pos:
        line_end: 142
        line_start: 135
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: UNKNOWN
        value: '0'
      - name: HTTP
        value: '1'
      - name: HTTPS
        value: '2'
      - name: GRPC
        value: '3'
      item_type: enum
      name: Protocol
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: UNKNOWN
        value: '0'
      - name: HTTP
        value: '1'
      - name: HTTPS
        value: '2'
      - name: GRPC
        value: '3'
      item_type: enum
      name: Protocol
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: NOT_CHECKED
        value: '0'
      - name: INVALID
        value: '1'
      - name: NOT_ENABLED
        value: '2'
      - name: VERIFIED
        value: '3'
      item_type: enum
      name: ApiKeyState
      pos:
        line_end: 62
        line_start: 50
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: NOT_CHECKED
        value: '0'
      - name: INVALID
        value: '1'
      - name: NOT_ENABLED
        value: '2'
      - name: VERIFIED
        value: '3'
      item_type: enum
      name: ApiKeyState
      pos:
        line_end: 62
        line_start: 50
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: ERROR_TYPE_UNSPECIFIED
        value: '0'
      - name: CONSUMER_BLOCKED
        value: '3'
      - name: API_KEY_INVALID
        value: '1'
      - name: CONSUMER_ERROR
        value: '4'
      - name: SERVICE_NOT_ACTIVATED
        value: '2'
      - name: CONSUMER_QUOTA
        value: '5'
      item_type: enum
      name: ScResponseErrorType
      pos:
        line_end: 142
        line_start: 135
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: UNKNOWN
        value: '0'
      - name: HTTP
        value: '1'
      - name: HTTPS
        value: '2'
      - name: GRPC
        value: '3'
      item_type: enum
      name: Protocol
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: UNKNOWN
        value: '0'
      - name: HTTP
        value: '1'
      - name: HTTPS
        value: '2'
      - name: GRPC
        value: '3'
      item_type: enum
      name: Protocol
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: NOT_CHECKED
        value: '0'
      - name: INVALID
        value: '1'
      - name: NOT_ENABLED
        value: '2'
      - name: VERIFIED
        value: '3'
      item_type: enum
      name: ApiKeyState
      pos:
        line_end: 62
        line_start: 50
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: NOT_CHECKED
        value: '0'
      - name: INVALID
        value: '1'
      - name: NOT_ENABLED
        value: '2'
      - name: VERIFIED
        value: '3'
      item_type: enum
      name: ApiKeyState
      pos:
        line_end: 62
        line_start: 50
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - enumerators:
      - name: ERROR_TYPE_UNSPECIFIED
        value: '0'
      - name: CONSUMER_BLOCKED
        value: '3'
      - name: API_KEY_INVALID
        value: '1'
      - name: CONSUMER_ERROR
        value: '4'
      - name: SERVICE_NOT_ACTIVATED
        value: '2'
      - name: CONSUMER_QUOTA
        value: '5'
      item_type: enum
      name: ScResponseErrorType
      pos:
        line_end: 142
        line_start: 135
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    preproc_defs: []
    structs:
    - fields:
      - name: request_time_ms
        type: int64_t
      - name: backend_time_ms
        type: int64_t
      - name: overhead_time_ms
        type: int64_t
      item_type: struct
      name: LatencyInfo
      pos:
        line_end: 90
        line_start: 80
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: operation_id
        type: std::string
      - name: operation_name
        type: std::string
      - name: producer_project_id
        type: std::string
      - name: api_key
        type: std::string
      - name: referer
        type: std::string
      - name: current_time
        type: std::chrono::system_clock::time_point
      - name: client_ip
        type: std::string
      item_type: struct
      name: OperationInfo
      pos:
        line_end: 125
        line_start: 97
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: android_package_name
        type: std::string
      - name: android_cert_fingerprint
        type: std::string
      - name: ios_bundle_id
        type: std::string
      item_type: struct
      name: CheckRequestInfo
      pos:
        line_end: 133
        line_start: 128
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: name
        type: std::string
      - name: is_network_error
        type: bool
      - name: type
        type: ScResponseErrorType
      item_type: struct
      name: ScResponseError
      pos:
        line_end: 163
        line_start: 145
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: consumer_project_number
        type: std::string
      - name: consumer_type
        type: std::string
      - name: consumer_number
        type: std::string
      - name: error
        type: ScResponseError
      - name: api_key_state
        type: api_key::ApiKeyState
      - name: api_key_uid
        type: std::string
      item_type: struct
      name: CheckResponseInfo
      pos:
        line_end: 182
        line_start: 166
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: method_name
        type: std::string
      - name: '& metric_cost_vector'
        type: std::vector<std::pair<std::string, int>>
      item_type: struct
      name: QuotaRequestInfo
      pos:
        line_end: 191
        line_start: 184
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: type
        type: ScResponseErrorType
      - name: error
        type: ScResponseError
      item_type: struct
      name: QuotaResponseInfo
      pos:
        line_end: 201
        line_start: 194
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: http_response_code
        type: unsigned int
      - name: grpc_response_code
        type: absl::optional<absl::StatusCode>
      - name: status
        type: absl::Status
      - name: url
        type: std::string
      - name: location
        type: std::string
      - name: api_name
        type: std::string
      - name: api_version
        type: std::string
      - name: api_method
        type: std::string
      - name: request_size
        type: int64_t
      - name: response_size
        type: int64_t
      - name: latency
        type: LatencyInfo
      - name: log_message
        type: std::string
      - name: auth_issuer
        type: std::string
      - name: auth_audience
        type: std::string
      - name: frontend_protocol
        type: protocol::Protocol
      - name: backend_protocol
        type: protocol::Protocol
      - name: method
        type: std::string
      - name: compute_platform
        type: std::string
      - name: check_response_info
        type: CheckResponseInfo
      - name: request_headers
        type: std::string
      - name: response_headers
        type: std::string
      - name: jwt_payloads
        type: std::string
      - name: response_code_detail
        type: std::string
      - name: gcp_project_id
        type: std::string
      - name: tracing_project_id
        type: std::string
      - name: trace_id
        type: std::string
      - name: enable_api_key_uid_reporting
        type: bool
      item_type: struct
      name: ReportRequestInfo
      pos:
        line_end: 286
        line_start: 204
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: request_time_ms
        type: int64_t
      - name: backend_time_ms
        type: int64_t
      - name: overhead_time_ms
        type: int64_t
      item_type: struct
      name: LatencyInfo
      pos:
        line_end: 90
        line_start: 80
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: operation_id
        type: std::string
      - name: operation_name
        type: std::string
      - name: producer_project_id
        type: std::string
      - name: api_key
        type: std::string
      - name: referer
        type: std::string
      - name: current_time
        type: std::chrono::system_clock::time_point
      - name: client_ip
        type: std::string
      item_type: struct
      name: OperationInfo
      pos:
        line_end: 125
        line_start: 97
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: android_package_name
        type: std::string
      - name: android_cert_fingerprint
        type: std::string
      - name: ios_bundle_id
        type: std::string
      item_type: struct
      name: CheckRequestInfo
      pos:
        line_end: 133
        line_start: 128
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: name
        type: std::string
      - name: is_network_error
        type: bool
      - name: type
        type: ScResponseErrorType
      item_type: struct
      name: ScResponseError
      pos:
        line_end: 163
        line_start: 145
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: consumer_project_number
        type: std::string
      - name: consumer_type
        type: std::string
      - name: consumer_number
        type: std::string
      - name: error
        type: ScResponseError
      - name: api_key_state
        type: api_key::ApiKeyState
      - name: api_key_uid
        type: std::string
      item_type: struct
      name: CheckResponseInfo
      pos:
        line_end: 182
        line_start: 166
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: method_name
        type: std::string
      - name: '& metric_cost_vector'
        type: std::vector<std::pair<std::string, int>>
      item_type: struct
      name: QuotaRequestInfo
      pos:
        line_end: 191
        line_start: 184
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: type
        type: ScResponseErrorType
      - name: error
        type: ScResponseError
      item_type: struct
      name: QuotaResponseInfo
      pos:
        line_end: 201
        line_start: 194
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: http_response_code
        type: unsigned int
      - name: grpc_response_code
        type: absl::optional<absl::StatusCode>
      - name: status
        type: absl::Status
      - name: url
        type: std::string
      - name: location
        type: std::string
      - name: api_name
        type: std::string
      - name: api_version
        type: std::string
      - name: api_method
        type: std::string
      - name: request_size
        type: int64_t
      - name: response_size
        type: int64_t
      - name: latency
        type: LatencyInfo
      - name: log_message
        type: std::string
      - name: auth_issuer
        type: std::string
      - name: auth_audience
        type: std::string
      - name: frontend_protocol
        type: protocol::Protocol
      - name: backend_protocol
        type: protocol::Protocol
      - name: method
        type: std::string
      - name: compute_platform
        type: std::string
      - name: check_response_info
        type: CheckResponseInfo
      - name: request_headers
        type: std::string
      - name: response_headers
        type: std::string
      - name: jwt_payloads
        type: std::string
      - name: response_code_detail
        type: std::string
      - name: gcp_project_id
        type: std::string
      - name: tracing_project_id
        type: std::string
      - name: trace_id
        type: std::string
      - name: enable_api_key_uid_reporting
        type: bool
      item_type: struct
      name: ReportRequestInfo
      pos:
        line_end: 286
        line_start: 204
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: request_time_ms
        type: int64_t
      - name: backend_time_ms
        type: int64_t
      - name: overhead_time_ms
        type: int64_t
      item_type: struct
      name: LatencyInfo
      pos:
        line_end: 90
        line_start: 80
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: operation_id
        type: std::string
      - name: operation_name
        type: std::string
      - name: producer_project_id
        type: std::string
      - name: api_key
        type: std::string
      - name: referer
        type: std::string
      - name: current_time
        type: std::chrono::system_clock::time_point
      - name: client_ip
        type: std::string
      item_type: struct
      name: OperationInfo
      pos:
        line_end: 125
        line_start: 97
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: android_package_name
        type: std::string
      - name: android_cert_fingerprint
        type: std::string
      - name: ios_bundle_id
        type: std::string
      item_type: struct
      name: CheckRequestInfo
      pos:
        line_end: 133
        line_start: 128
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: name
        type: std::string
      - name: is_network_error
        type: bool
      - name: type
        type: ScResponseErrorType
      item_type: struct
      name: ScResponseError
      pos:
        line_end: 163
        line_start: 145
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: consumer_project_number
        type: std::string
      - name: consumer_type
        type: std::string
      - name: consumer_number
        type: std::string
      - name: error
        type: ScResponseError
      - name: api_key_state
        type: api_key::ApiKeyState
      - name: api_key_uid
        type: std::string
      item_type: struct
      name: CheckResponseInfo
      pos:
        line_end: 182
        line_start: 166
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: method_name
        type: std::string
      - name: '& metric_cost_vector'
        type: std::vector<std::pair<std::string, int>>
      item_type: struct
      name: QuotaRequestInfo
      pos:
        line_end: 191
        line_start: 184
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: type
        type: ScResponseErrorType
      - name: error
        type: ScResponseError
      item_type: struct
      name: QuotaResponseInfo
      pos:
        line_end: 201
        line_start: 194
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: http_response_code
        type: unsigned int
      - name: grpc_response_code
        type: absl::optional<absl::StatusCode>
      - name: status
        type: absl::Status
      - name: url
        type: std::string
      - name: location
        type: std::string
      - name: api_name
        type: std::string
      - name: api_version
        type: std::string
      - name: api_method
        type: std::string
      - name: request_size
        type: int64_t
      - name: response_size
        type: int64_t
      - name: latency
        type: LatencyInfo
      - name: log_message
        type: std::string
      - name: auth_issuer
        type: std::string
      - name: auth_audience
        type: std::string
      - name: frontend_protocol
        type: protocol::Protocol
      - name: backend_protocol
        type: protocol::Protocol
      - name: method
        type: std::string
      - name: compute_platform
        type: std::string
      - name: check_response_info
        type: CheckResponseInfo
      - name: request_headers
        type: std::string
      - name: response_headers
        type: std::string
      - name: jwt_payloads
        type: std::string
      - name: response_code_detail
        type: std::string
      - name: gcp_project_id
        type: std::string
      - name: tracing_project_id
        type: std::string
      - name: trace_id
        type: std::string
      - name: enable_api_key_uid_reporting
        type: bool
      item_type: struct
      name: ReportRequestInfo
      pos:
        line_end: 286
        line_start: 204
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: request_time_ms
        type: int64_t
      - name: backend_time_ms
        type: int64_t
      - name: overhead_time_ms
        type: int64_t
      item_type: struct
      name: LatencyInfo
      pos:
        line_end: 90
        line_start: 80
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: operation_id
        type: std::string
      - name: operation_name
        type: std::string
      - name: producer_project_id
        type: std::string
      - name: api_key
        type: std::string
      - name: referer
        type: std::string
      - name: current_time
        type: std::chrono::system_clock::time_point
      - name: client_ip
        type: std::string
      item_type: struct
      name: OperationInfo
      pos:
        line_end: 125
        line_start: 97
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: android_package_name
        type: std::string
      - name: android_cert_fingerprint
        type: std::string
      - name: ios_bundle_id
        type: std::string
      item_type: struct
      name: CheckRequestInfo
      pos:
        line_end: 133
        line_start: 128
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: name
        type: std::string
      - name: is_network_error
        type: bool
      - name: type
        type: ScResponseErrorType
      item_type: struct
      name: ScResponseError
      pos:
        line_end: 163
        line_start: 145
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: consumer_project_number
        type: std::string
      - name: consumer_type
        type: std::string
      - name: consumer_number
        type: std::string
      - name: error
        type: ScResponseError
      - name: api_key_state
        type: api_key::ApiKeyState
      - name: api_key_uid
        type: std::string
      item_type: struct
      name: CheckResponseInfo
      pos:
        line_end: 182
        line_start: 166
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: method_name
        type: std::string
      - name: '& metric_cost_vector'
        type: std::vector<std::pair<std::string, int>>
      item_type: struct
      name: QuotaRequestInfo
      pos:
        line_end: 191
        line_start: 184
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: type
        type: ScResponseErrorType
      - name: error
        type: ScResponseError
      item_type: struct
      name: QuotaResponseInfo
      pos:
        line_end: 201
        line_start: 194
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: http_response_code
        type: unsigned int
      - name: grpc_response_code
        type: absl::optional<absl::StatusCode>
      - name: status
        type: absl::Status
      - name: url
        type: std::string
      - name: location
        type: std::string
      - name: api_name
        type: std::string
      - name: api_version
        type: std::string
      - name: api_method
        type: std::string
      - name: request_size
        type: int64_t
      - name: response_size
        type: int64_t
      - name: latency
        type: LatencyInfo
      - name: log_message
        type: std::string
      - name: auth_issuer
        type: std::string
      - name: auth_audience
        type: std::string
      - name: frontend_protocol
        type: protocol::Protocol
      - name: backend_protocol
        type: protocol::Protocol
      - name: method
        type: std::string
      - name: compute_platform
        type: std::string
      - name: check_response_info
        type: CheckResponseInfo
      - name: request_headers
        type: std::string
      - name: response_headers
        type: std::string
      - name: jwt_payloads
        type: std::string
      - name: response_code_detail
        type: std::string
      - name: gcp_project_id
        type: std::string
      - name: tracing_project_id
        type: std::string
      - name: trace_id
        type: std::string
      - name: enable_api_key_uid_reporting
        type: bool
      item_type: struct
      name: ReportRequestInfo
      pos:
        line_end: 286
        line_start: 204
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: request_time_ms
        type: int64_t
      - name: backend_time_ms
        type: int64_t
      - name: overhead_time_ms
        type: int64_t
      item_type: struct
      name: LatencyInfo
      pos:
        line_end: 90
        line_start: 80
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: operation_id
        type: std::string
      - name: operation_name
        type: std::string
      - name: producer_project_id
        type: std::string
      - name: api_key
        type: std::string
      - name: referer
        type: std::string
      - name: current_time
        type: std::chrono::system_clock::time_point
      - name: client_ip
        type: std::string
      item_type: struct
      name: OperationInfo
      pos:
        line_end: 125
        line_start: 97
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: android_package_name
        type: std::string
      - name: android_cert_fingerprint
        type: std::string
      - name: ios_bundle_id
        type: std::string
      item_type: struct
      name: CheckRequestInfo
      pos:
        line_end: 133
        line_start: 128
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: name
        type: std::string
      - name: is_network_error
        type: bool
      - name: type
        type: ScResponseErrorType
      item_type: struct
      name: ScResponseError
      pos:
        line_end: 163
        line_start: 145
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: consumer_project_number
        type: std::string
      - name: consumer_type
        type: std::string
      - name: consumer_number
        type: std::string
      - name: error
        type: ScResponseError
      - name: api_key_state
        type: api_key::ApiKeyState
      - name: api_key_uid
        type: std::string
      item_type: struct
      name: CheckResponseInfo
      pos:
        line_end: 182
        line_start: 166
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: method_name
        type: std::string
      - name: '& metric_cost_vector'
        type: std::vector<std::pair<std::string, int>>
      item_type: struct
      name: QuotaRequestInfo
      pos:
        line_end: 191
        line_start: 184
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: type
        type: ScResponseErrorType
      - name: error
        type: ScResponseError
      item_type: struct
      name: QuotaResponseInfo
      pos:
        line_end: 201
        line_start: 194
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: http_response_code
        type: unsigned int
      - name: grpc_response_code
        type: absl::optional<absl::StatusCode>
      - name: status
        type: absl::Status
      - name: url
        type: std::string
      - name: location
        type: std::string
      - name: api_name
        type: std::string
      - name: api_version
        type: std::string
      - name: api_method
        type: std::string
      - name: request_size
        type: int64_t
      - name: response_size
        type: int64_t
      - name: latency
        type: LatencyInfo
      - name: log_message
        type: std::string
      - name: auth_issuer
        type: std::string
      - name: auth_audience
        type: std::string
      - name: frontend_protocol
        type: protocol::Protocol
      - name: backend_protocol
        type: protocol::Protocol
      - name: method
        type: std::string
      - name: compute_platform
        type: std::string
      - name: check_response_info
        type: CheckResponseInfo
      - name: request_headers
        type: std::string
      - name: response_headers
        type: std::string
      - name: jwt_payloads
        type: std::string
      - name: response_code_detail
        type: std::string
      - name: gcp_project_id
        type: std::string
      - name: tracing_project_id
        type: std::string
      - name: trace_id
        type: std::string
      - name: enable_api_key_uid_reporting
        type: bool
      item_type: struct
      name: ReportRequestInfo
      pos:
        line_end: 286
        line_start: 204
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: request_time_ms
        type: int64_t
      - name: backend_time_ms
        type: int64_t
      - name: overhead_time_ms
        type: int64_t
      item_type: struct
      name: LatencyInfo
      pos:
        line_end: 90
        line_start: 80
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: operation_id
        type: std::string
      - name: operation_name
        type: std::string
      - name: producer_project_id
        type: std::string
      - name: api_key
        type: std::string
      - name: referer
        type: std::string
      - name: current_time
        type: std::chrono::system_clock::time_point
      - name: client_ip
        type: std::string
      item_type: struct
      name: OperationInfo
      pos:
        line_end: 125
        line_start: 97
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: android_package_name
        type: std::string
      - name: android_cert_fingerprint
        type: std::string
      - name: ios_bundle_id
        type: std::string
      item_type: struct
      name: CheckRequestInfo
      pos:
        line_end: 133
        line_start: 128
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: name
        type: std::string
      - name: is_network_error
        type: bool
      - name: type
        type: ScResponseErrorType
      item_type: struct
      name: ScResponseError
      pos:
        line_end: 163
        line_start: 145
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: consumer_project_number
        type: std::string
      - name: consumer_type
        type: std::string
      - name: consumer_number
        type: std::string
      - name: error
        type: ScResponseError
      - name: api_key_state
        type: api_key::ApiKeyState
      - name: api_key_uid
        type: std::string
      item_type: struct
      name: CheckResponseInfo
      pos:
        line_end: 182
        line_start: 166
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: method_name
        type: std::string
      - name: '& metric_cost_vector'
        type: std::vector<std::pair<std::string, int>>
      item_type: struct
      name: QuotaRequestInfo
      pos:
        line_end: 191
        line_start: 184
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: type
        type: ScResponseErrorType
      - name: error
        type: ScResponseError
      item_type: struct
      name: QuotaResponseInfo
      pos:
        line_end: 201
        line_start: 194
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: http_response_code
        type: unsigned int
      - name: grpc_response_code
        type: absl::optional<absl::StatusCode>
      - name: status
        type: absl::Status
      - name: url
        type: std::string
      - name: location
        type: std::string
      - name: api_name
        type: std::string
      - name: api_version
        type: std::string
      - name: api_method
        type: std::string
      - name: request_size
        type: int64_t
      - name: response_size
        type: int64_t
      - name: latency
        type: LatencyInfo
      - name: log_message
        type: std::string
      - name: auth_issuer
        type: std::string
      - name: auth_audience
        type: std::string
      - name: frontend_protocol
        type: protocol::Protocol
      - name: backend_protocol
        type: protocol::Protocol
      - name: method
        type: std::string
      - name: compute_platform
        type: std::string
      - name: check_response_info
        type: CheckResponseInfo
      - name: request_headers
        type: std::string
      - name: response_headers
        type: std::string
      - name: jwt_payloads
        type: std::string
      - name: response_code_detail
        type: std::string
      - name: gcp_project_id
        type: std::string
      - name: tracing_project_id
        type: std::string
      - name: trace_id
        type: std::string
      - name: enable_api_key_uid_reporting
        type: bool
      item_type: struct
      name: ReportRequestInfo
      pos:
        line_end: 286
        line_start: 204
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: request_time_ms
        type: int64_t
      - name: backend_time_ms
        type: int64_t
      - name: overhead_time_ms
        type: int64_t
      item_type: struct
      name: LatencyInfo
      pos:
        line_end: 90
        line_start: 80
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: operation_id
        type: std::string
      - name: operation_name
        type: std::string
      - name: producer_project_id
        type: std::string
      - name: api_key
        type: std::string
      - name: referer
        type: std::string
      - name: current_time
        type: std::chrono::system_clock::time_point
      - name: client_ip
        type: std::string
      item_type: struct
      name: OperationInfo
      pos:
        line_end: 125
        line_start: 97
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: android_package_name
        type: std::string
      - name: android_cert_fingerprint
        type: std::string
      - name: ios_bundle_id
        type: std::string
      item_type: struct
      name: CheckRequestInfo
      pos:
        line_end: 133
        line_start: 128
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: name
        type: std::string
      - name: is_network_error
        type: bool
      - name: type
        type: ScResponseErrorType
      item_type: struct
      name: ScResponseError
      pos:
        line_end: 163
        line_start: 145
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: consumer_project_number
        type: std::string
      - name: consumer_type
        type: std::string
      - name: consumer_number
        type: std::string
      - name: error
        type: ScResponseError
      - name: api_key_state
        type: api_key::ApiKeyState
      - name: api_key_uid
        type: std::string
      item_type: struct
      name: CheckResponseInfo
      pos:
        line_end: 182
        line_start: 166
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: method_name
        type: std::string
      - name: '& metric_cost_vector'
        type: std::vector<std::pair<std::string, int>>
      item_type: struct
      name: QuotaRequestInfo
      pos:
        line_end: 191
        line_start: 184
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: type
        type: ScResponseErrorType
      - name: error
        type: ScResponseError
      item_type: struct
      name: QuotaResponseInfo
      pos:
        line_end: 201
        line_start: 194
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: http_response_code
        type: unsigned int
      - name: grpc_response_code
        type: absl::optional<absl::StatusCode>
      - name: status
        type: absl::Status
      - name: url
        type: std::string
      - name: location
        type: std::string
      - name: api_name
        type: std::string
      - name: api_version
        type: std::string
      - name: api_method
        type: std::string
      - name: request_size
        type: int64_t
      - name: response_size
        type: int64_t
      - name: latency
        type: LatencyInfo
      - name: log_message
        type: std::string
      - name: auth_issuer
        type: std::string
      - name: auth_audience
        type: std::string
      - name: frontend_protocol
        type: protocol::Protocol
      - name: backend_protocol
        type: protocol::Protocol
      - name: method
        type: std::string
      - name: compute_platform
        type: std::string
      - name: check_response_info
        type: CheckResponseInfo
      - name: request_headers
        type: std::string
      - name: response_headers
        type: std::string
      - name: jwt_payloads
        type: std::string
      - name: response_code_detail
        type: std::string
      - name: gcp_project_id
        type: std::string
      - name: tracing_project_id
        type: std::string
      - name: trace_id
        type: std::string
      - name: enable_api_key_uid_reporting
        type: bool
      item_type: struct
      name: ReportRequestInfo
      pos:
        line_end: 286
        line_start: 204
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: request_time_ms
        type: int64_t
      - name: backend_time_ms
        type: int64_t
      - name: overhead_time_ms
        type: int64_t
      item_type: struct
      name: LatencyInfo
      pos:
        line_end: 90
        line_start: 80
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: operation_id
        type: std::string
      - name: operation_name
        type: std::string
      - name: producer_project_id
        type: std::string
      - name: api_key
        type: std::string
      - name: referer
        type: std::string
      - name: current_time
        type: std::chrono::system_clock::time_point
      - name: client_ip
        type: std::string
      item_type: struct
      name: OperationInfo
      pos:
        line_end: 125
        line_start: 97
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: android_package_name
        type: std::string
      - name: android_cert_fingerprint
        type: std::string
      - name: ios_bundle_id
        type: std::string
      item_type: struct
      name: CheckRequestInfo
      pos:
        line_end: 133
        line_start: 128
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: name
        type: std::string
      - name: is_network_error
        type: bool
      - name: type
        type: ScResponseErrorType
      item_type: struct
      name: ScResponseError
      pos:
        line_end: 163
        line_start: 145
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: consumer_project_number
        type: std::string
      - name: consumer_type
        type: std::string
      - name: consumer_number
        type: std::string
      - name: error
        type: ScResponseError
      - name: api_key_state
        type: api_key::ApiKeyState
      - name: api_key_uid
        type: std::string
      item_type: struct
      name: CheckResponseInfo
      pos:
        line_end: 182
        line_start: 166
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: method_name
        type: std::string
      - name: '& metric_cost_vector'
        type: std::vector<std::pair<std::string, int>>
      item_type: struct
      name: QuotaRequestInfo
      pos:
        line_end: 191
        line_start: 184
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: type
        type: ScResponseErrorType
      - name: error
        type: ScResponseError
      item_type: struct
      name: QuotaResponseInfo
      pos:
        line_end: 201
        line_start: 194
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    - fields:
      - name: http_response_code
        type: unsigned int
      - name: grpc_response_code
        type: absl::optional<absl::StatusCode>
      - name: status
        type: absl::Status
      - name: url
        type: std::string
      - name: location
        type: std::string
      - name: api_name
        type: std::string
      - name: api_version
        type: std::string
      - name: api_method
        type: std::string
      - name: request_size
        type: int64_t
      - name: response_size
        type: int64_t
      - name: latency
        type: LatencyInfo
      - name: log_message
        type: std::string
      - name: auth_issuer
        type: std::string
      - name: auth_audience
        type: std::string
      - name: frontend_protocol
        type: protocol::Protocol
      - name: backend_protocol
        type: protocol::Protocol
      - name: method
        type: std::string
      - name: compute_platform
        type: std::string
      - name: check_response_info
        type: CheckResponseInfo
      - name: request_headers
        type: std::string
      - name: response_headers
        type: std::string
      - name: jwt_payloads
        type: std::string
      - name: response_code_detail
        type: std::string
      - name: gcp_project_id
        type: std::string
      - name: tracing_project_id
        type: std::string
      - name: trace_id
        type: std::string
      - name: enable_api_key_uid_reporting
        type: bool
      item_type: struct
      name: ReportRequestInfo
      pos:
        line_end: 286
        line_start: 204
        source_file: /src/esp-v2/src/api_proxy/service_control/request_info.h
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::FilterTest::SetUp
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  source_file: /src/esp-v2/src/envoy/http/path_rewrite/filter_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::ConfigParserImpl
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::rewrite
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::url_template
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::getVariableBindings
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImpl::constPath
  source_file: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
  - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
  - espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
  - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
  - espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
  - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
  - espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
  - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
  - espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
  - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
  - espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
  - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
  - espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
  - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
  - espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
  - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
  - espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
  - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
  - espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
  - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
  - espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
  - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
  - espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
  - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
  - espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
  - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
  - espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
  - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
  - espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
  - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
  - espv2::envoy::http_filters::path_rewrite::Filter::decodeHeaders
  - espv2::envoy::http_filters::path_rewrite::Filter::rejectRequest
  source_file: /src/esp-v2/src/envoy/http/path_rewrite/filter.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~ConfigParser()
  - ~ConfigParser()
  - ~ConfigParser()
  - ~ConfigParser()
  - ~ConfigParser()
  - ~ConfigParser()
  - ~ConfigParser()
  - ~ConfigParser()
  - ~ConfigParser()
  - ~ConfigParser()
  - ~ConfigParser()
  - ~ConfigParser()
  - ~ConfigParser()
  - ~ConfigParser()
  - ~ConfigParser()
  - ~ConfigParser()
  source_file: /src/esp-v2/src/envoy/http/path_rewrite/config_parser.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/esp-v2/src/envoy/http/path_rewrite/mocks.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ALL_PATH_REWRITE_FILTER_STATS
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
  - espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
  - '& config_parser() const'
  - ALL_PATH_REWRITE_FILTER_STATS
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
  - espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
  - '& config_parser() const'
  - ALL_PATH_REWRITE_FILTER_STATS
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
  - espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
  - '& config_parser() const'
  - ALL_PATH_REWRITE_FILTER_STATS
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
  - espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
  - '& config_parser() const'
  - ALL_PATH_REWRITE_FILTER_STATS
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
  - espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
  - '& config_parser() const'
  - ALL_PATH_REWRITE_FILTER_STATS
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
  - espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
  - '& config_parser() const'
  - ALL_PATH_REWRITE_FILTER_STATS
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
  - espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
  - '& config_parser() const'
  - ALL_PATH_REWRITE_FILTER_STATS
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
  - espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
  - '& config_parser() const'
  - ALL_PATH_REWRITE_FILTER_STATS
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
  - espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
  - '& config_parser() const'
  - ALL_PATH_REWRITE_FILTER_STATS
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
  - espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
  - '& config_parser() const'
  - ALL_PATH_REWRITE_FILTER_STATS
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
  - espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
  - '& config_parser() const'
  - ALL_PATH_REWRITE_FILTER_STATS
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
  - espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
  - '& config_parser() const'
  - ALL_PATH_REWRITE_FILTER_STATS
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
  - espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
  - '& config_parser() const'
  - ALL_PATH_REWRITE_FILTER_STATS
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
  - espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
  - '& config_parser() const'
  - ALL_PATH_REWRITE_FILTER_STATS
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
  - espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
  - '& config_parser() const'
  - ALL_PATH_REWRITE_FILTER_STATS
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::path_rewrite::FilterConfig::generateStats
  - espv2::envoy::http_filters::path_rewrite::PerRouteFilterConfig::PerRouteFilterConfig
  - '& config_parser() const'
  source_file: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_PATH_REWRITE_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 81
        line_start: 43
        source_file: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_PATH_REWRITE_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 81
        line_start: 43
        source_file: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_PATH_REWRITE_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 81
        line_start: 43
        source_file: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_PATH_REWRITE_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 81
        line_start: 43
        source_file: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_PATH_REWRITE_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 81
        line_start: 43
        source_file: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_PATH_REWRITE_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 81
        line_start: 43
        source_file: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_PATH_REWRITE_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 81
        line_start: 43
        source_file: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_PATH_REWRITE_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 81
        line_start: 43
        source_file: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_PATH_REWRITE_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 81
        line_start: 43
        source_file: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_PATH_REWRITE_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 81
        line_start: 43
        source_file: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_PATH_REWRITE_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 81
        line_start: 43
        source_file: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_PATH_REWRITE_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 81
        line_start: 43
        source_file: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_PATH_REWRITE_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 81
        line_start: 43
        source_file: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_PATH_REWRITE_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 81
        line_start: 43
        source_file: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_PATH_REWRITE_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 81
        line_start: 43
        source_file: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_PATH_REWRITE_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 81
        line_start: 43
        source_file: /src/esp-v2/src/envoy/http/path_rewrite/filter_config.h
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::path_rewrite::FilterFactory::createRouteSpecificFilterConfigTyped
  source_file: /src/esp-v2/src/envoy/http/path_rewrite/filter_factory.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::path_rewrite::Filter::Filter
  - espv2::envoy::http_filters::path_rewrite::Filter::Filter
  - espv2::envoy::http_filters::path_rewrite::Filter::Filter
  - espv2::envoy::http_filters::path_rewrite::Filter::Filter
  - espv2::envoy::http_filters::path_rewrite::Filter::Filter
  - espv2::envoy::http_filters::path_rewrite::Filter::Filter
  - espv2::envoy::http_filters::path_rewrite::Filter::Filter
  - espv2::envoy::http_filters::path_rewrite::Filter::Filter
  - espv2::envoy::http_filters::path_rewrite::Filter::Filter
  - espv2::envoy::http_filters::path_rewrite::Filter::Filter
  - espv2::envoy::http_filters::path_rewrite::Filter::Filter
  - espv2::envoy::http_filters::path_rewrite::Filter::Filter
  - espv2::envoy::http_filters::path_rewrite::Filter::Filter
  - espv2::envoy::http_filters::path_rewrite::Filter::Filter
  - espv2::envoy::http_filters::path_rewrite::Filter::Filter
  - espv2::envoy::http_filters::path_rewrite::Filter::Filter
  source_file: /src/esp-v2/src/envoy/http/path_rewrite/filter.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::path_rewrite::ConfigParserImplTest::validateConfig
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  - espv2::envoy::http_filters::path_rewrite::TEST_F
  source_file: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/esp-v2/src/envoy/http/path_rewrite/config_parser_impl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
  - espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
  - espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
  - espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
  - espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
  - espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
  - espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
  - espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
  - espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
  - espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
  - espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
  - espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
  - espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
  - espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
  - espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
  - espv2::envoy::http_filters::header_sanitizer::Filter::decodeHeaders
  source_file: /src/esp-v2/src/envoy/http/header_sanitizer/filter.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::header_sanitizer::FilterFactory::createFilterFactoryFromProtoTyped
  source_file: /src/esp-v2/src/envoy/http/header_sanitizer/filter_factory.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::header_sanitizer::Filter::Filter
  - espv2::envoy::http_filters::header_sanitizer::Filter::Filter
  - espv2::envoy::http_filters::header_sanitizer::Filter::Filter
  - espv2::envoy::http_filters::header_sanitizer::Filter::Filter
  - espv2::envoy::http_filters::header_sanitizer::Filter::Filter
  - espv2::envoy::http_filters::header_sanitizer::Filter::Filter
  - espv2::envoy::http_filters::header_sanitizer::Filter::Filter
  - espv2::envoy::http_filters::header_sanitizer::Filter::Filter
  - espv2::envoy::http_filters::header_sanitizer::Filter::Filter
  - espv2::envoy::http_filters::header_sanitizer::Filter::Filter
  - espv2::envoy::http_filters::header_sanitizer::Filter::Filter
  - espv2::envoy::http_filters::header_sanitizer::Filter::Filter
  - espv2::envoy::http_filters::header_sanitizer::Filter::Filter
  - espv2::envoy::http_filters::header_sanitizer::Filter::Filter
  - espv2::envoy::http_filters::header_sanitizer::Filter::Filter
  - espv2::envoy::http_filters::header_sanitizer::Filter::Filter
  source_file: /src/esp-v2/src/envoy/http/header_sanitizer/filter.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::SetUp
  - espv2::envoy::http_filters::backend_auth::BackendAuthFilterTest::setPerRouteJwtAudience
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  source_file: /src/esp-v2/src/envoy/http/backend_auth/filter_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
  - espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
  - espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
  - espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
  - espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
  - espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
  - espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
  - espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
  - espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
  - espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
  - espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
  - espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
  - espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
  - espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
  - espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
  - espv2::envoy::http_filters::backend_auth::AudienceContext::AudienceContext
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::FilterConfigParserImpl
  source_file: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
  - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
  - espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
  - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
  - espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
  - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
  - espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
  - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
  - espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
  - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
  - espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
  - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
  - espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
  - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
  - espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
  - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
  - espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
  - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
  - espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
  - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
  - espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
  - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
  - espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
  - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
  - espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
  - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
  - espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
  - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
  - espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
  - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
  - espv2::envoy::http_filters::backend_auth::Filter::decodeHeaders
  - espv2::envoy::http_filters::backend_auth::Filter::rejectRequest
  source_file: /src/esp-v2/src/envoy/http/backend_auth/filter.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~FilterConfigParser()
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
  - ~FilterConfigParser()
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
  - ~FilterConfigParser()
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
  - ~FilterConfigParser()
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
  - ~FilterConfigParser()
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
  - ~FilterConfigParser()
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
  - ~FilterConfigParser()
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
  - ~FilterConfigParser()
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
  - ~FilterConfigParser()
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
  - ~FilterConfigParser()
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
  - ~FilterConfigParser()
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
  - ~FilterConfigParser()
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
  - ~FilterConfigParser()
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
  - ~FilterConfigParser()
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
  - ~FilterConfigParser()
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
  - ~FilterConfigParser()
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::backend_auth::PerRouteFilterConfig::jwt_audience
  source_file: /src/esp-v2/src/envoy/http/backend_auth/config_parser.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/esp-v2/src/envoy/http/backend_auth/mocks.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ALL_BACKEND_AUTH_FILTER_STATS
  - ~FilterConfig()
  - ALL_BACKEND_AUTH_FILTER_STATS
  - ~FilterConfig()
  - ALL_BACKEND_AUTH_FILTER_STATS
  - ~FilterConfig()
  - ALL_BACKEND_AUTH_FILTER_STATS
  - ~FilterConfig()
  - ALL_BACKEND_AUTH_FILTER_STATS
  - ~FilterConfig()
  - ALL_BACKEND_AUTH_FILTER_STATS
  - ~FilterConfig()
  - ALL_BACKEND_AUTH_FILTER_STATS
  - ~FilterConfig()
  - ALL_BACKEND_AUTH_FILTER_STATS
  - ~FilterConfig()
  - ALL_BACKEND_AUTH_FILTER_STATS
  - ~FilterConfig()
  - ALL_BACKEND_AUTH_FILTER_STATS
  - ~FilterConfig()
  - ALL_BACKEND_AUTH_FILTER_STATS
  - ~FilterConfig()
  - ALL_BACKEND_AUTH_FILTER_STATS
  - ~FilterConfig()
  - ALL_BACKEND_AUTH_FILTER_STATS
  - ~FilterConfig()
  - ALL_BACKEND_AUTH_FILTER_STATS
  - ~FilterConfig()
  - ALL_BACKEND_AUTH_FILTER_STATS
  - ~FilterConfig()
  - ALL_BACKEND_AUTH_FILTER_STATS
  - ~FilterConfig()
  source_file: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_BACKEND_AUTH_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 52
        line_start: 37
        source_file: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_BACKEND_AUTH_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 52
        line_start: 37
        source_file: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_BACKEND_AUTH_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 52
        line_start: 37
        source_file: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_BACKEND_AUTH_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 52
        line_start: 37
        source_file: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_BACKEND_AUTH_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 52
        line_start: 37
        source_file: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_BACKEND_AUTH_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 52
        line_start: 37
        source_file: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_BACKEND_AUTH_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 52
        line_start: 37
        source_file: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_BACKEND_AUTH_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 52
        line_start: 37
        source_file: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_BACKEND_AUTH_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 52
        line_start: 37
        source_file: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_BACKEND_AUTH_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 52
        line_start: 37
        source_file: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_BACKEND_AUTH_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 52
        line_start: 37
        source_file: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_BACKEND_AUTH_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 52
        line_start: 37
        source_file: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_BACKEND_AUTH_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 52
        line_start: 37
        source_file: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_BACKEND_AUTH_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 52
        line_start: 37
        source_file: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_BACKEND_AUTH_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 52
        line_start: 37
        source_file: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_BACKEND_AUTH_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 52
        line_start: 37
        source_file: /src/esp-v2/src/envoy/http/backend_auth/filter_config.h
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::backend_auth::FilterFactory::createRouteSpecificFilterConfigTyped
  source_file: /src/esp-v2/src/envoy/http/backend_auth/filter_factory.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
  - "& config()\n      const"
  - '& stats() override'
  - '& cfg_parser() const override'
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
  - "& config()\n      const"
  - '& stats() override'
  - '& cfg_parser() const override'
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
  - "& config()\n      const"
  - '& stats() override'
  - '& cfg_parser() const override'
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
  - "& config()\n      const"
  - '& stats() override'
  - '& cfg_parser() const override'
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
  - "& config()\n      const"
  - '& stats() override'
  - '& cfg_parser() const override'
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
  - "& config()\n      const"
  - '& stats() override'
  - '& cfg_parser() const override'
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
  - "& config()\n      const"
  - '& stats() override'
  - '& cfg_parser() const override'
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
  - "& config()\n      const"
  - '& stats() override'
  - '& cfg_parser() const override'
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
  - "& config()\n      const"
  - '& stats() override'
  - '& cfg_parser() const override'
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
  - "& config()\n      const"
  - '& stats() override'
  - '& cfg_parser() const override'
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
  - "& config()\n      const"
  - '& stats() override'
  - '& cfg_parser() const override'
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
  - "& config()\n      const"
  - '& stats() override'
  - '& cfg_parser() const override'
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
  - "& config()\n      const"
  - '& stats() override'
  - '& cfg_parser() const override'
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
  - "& config()\n      const"
  - '& stats() override'
  - '& cfg_parser() const override'
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
  - "& config()\n      const"
  - '& stats() override'
  - '& cfg_parser() const override'
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::FilterConfigImpl
  - "& config()\n      const"
  - '& stats() override'
  - '& cfg_parser() const override'
  - espv2::envoy::http_filters::backend_auth::FilterConfigImpl::generateStats
  source_file: /src/esp-v2/src/envoy/http/backend_auth/filter_config_impl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::backend_auth::Filter::Filter
  - espv2::envoy::http_filters::backend_auth::Filter::Filter
  - espv2::envoy::http_filters::backend_auth::Filter::Filter
  - espv2::envoy::http_filters::backend_auth::Filter::Filter
  - espv2::envoy::http_filters::backend_auth::Filter::Filter
  - espv2::envoy::http_filters::backend_auth::Filter::Filter
  - espv2::envoy::http_filters::backend_auth::Filter::Filter
  - espv2::envoy::http_filters::backend_auth::Filter::Filter
  - espv2::envoy::http_filters::backend_auth::Filter::Filter
  - espv2::envoy::http_filters::backend_auth::Filter::Filter
  - espv2::envoy::http_filters::backend_auth::Filter::Filter
  - espv2::envoy::http_filters::backend_auth::Filter::Filter
  - espv2::envoy::http_filters::backend_auth::Filter::Filter
  - espv2::envoy::http_filters::backend_auth::Filter::Filter
  - espv2::envoy::http_filters::backend_auth::Filter::Filter
  - espv2::envoy::http_filters::backend_auth::Filter::Filter
  source_file: /src/esp-v2/src/envoy/http/backend_auth/filter.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::ConfigParserImplTest::setUp
  - espv2::envoy::http_filters::backend_auth::TEST_F
  - espv2::envoy::http_filters::backend_auth::TEST_F
  source_file: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::backend_auth::AudienceContext::token
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
  - espv2::envoy::http_filters::backend_auth::AudienceContext::token
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
  - espv2::envoy::http_filters::backend_auth::AudienceContext::token
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
  - espv2::envoy::http_filters::backend_auth::AudienceContext::token
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
  - espv2::envoy::http_filters::backend_auth::AudienceContext::token
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
  - espv2::envoy::http_filters::backend_auth::AudienceContext::token
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
  - espv2::envoy::http_filters::backend_auth::AudienceContext::token
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
  - espv2::envoy::http_filters::backend_auth::AudienceContext::token
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
  - espv2::envoy::http_filters::backend_auth::AudienceContext::token
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
  - espv2::envoy::http_filters::backend_auth::AudienceContext::token
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
  - espv2::envoy::http_filters::backend_auth::AudienceContext::token
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
  - espv2::envoy::http_filters::backend_auth::AudienceContext::token
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
  - espv2::envoy::http_filters::backend_auth::AudienceContext::token
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
  - espv2::envoy::http_filters::backend_auth::AudienceContext::token
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
  - espv2::envoy::http_filters::backend_auth::AudienceContext::token
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
  - espv2::envoy::http_filters::backend_auth::AudienceContext::token
  - espv2::envoy::http_filters::backend_auth::FilterConfigParserImpl::getJwtToken
  source_file: /src/esp-v2/src/envoy/http/backend_auth/config_parser_impl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::GrpcMetadataScrubberFilterTest::SetUp
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  - espv2::envoy::http_filters::grpc_metadata_scrubber::TEST_F
  source_file: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::encodeHeaders
  source_file: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
  - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
  - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
  - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
  - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
  - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
  - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
  - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
  - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
  - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
  - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
  - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
  - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
  - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
  - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
  - ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::FilterConfig
  - '& stats()'
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterConfig::generateStats
  source_file: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 62
        line_start: 36
        source_file: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 62
        line_start: 36
        source_file: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 62
        line_start: 36
        source_file: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 62
        line_start: 36
        source_file: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 62
        line_start: 36
        source_file: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 62
        line_start: 36
        source_file: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 62
        line_start: 36
        source_file: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 62
        line_start: 36
        source_file: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 62
        line_start: 36
        source_file: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 62
        line_start: 36
        source_file: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 62
        line_start: 36
        source_file: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 62
        line_start: 36
        source_file: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 62
        line_start: 36
        source_file: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 62
        line_start: 36
        source_file: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 62
        line_start: 36
        source_file: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    - fields:
      - name: (GENERATE_COUNTER_STRUCT)
        type: ALL_GRPC_METADATA_SCRUBBER_FILTER_STATS
      item_type: struct
      name: FilterStats
      pos:
        line_end: 62
        line_start: 36
        source_file: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_config.h
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::grpc_metadata_scrubber::FilterFactory::createFilterFactoryFromProtoTyped
  source_file: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter_factory.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
  - espv2::envoy::http_filters::grpc_metadata_scrubber::Filter::Filter
  source_file: /src/esp-v2/src/envoy/http/grpc_metadata_scrubber/filter.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST
  - EXPECT_THROW_WITH_REGEX
  - TEST
  - EXPECT_THROW_WITH_REGEX
  - EXPECT_THROW_WITH_REGEX
  - EXPECT_THROW_WITH_REGEX
  - TEST
  - EXPECT_THROW_WITH_REGEX
  - TEST
  - EXPECT_THROW_WITH_REGEX
  - EXPECT_THROW_WITH_REGEX
  - EXPECT_THROW_WITH_REGEX
  source_file: /src/esp-v2/src/envoy/http/service_control/config_parser_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  source_file: /src/esp-v2/src/envoy/http/service_control/parsing_forwarded_header_fuzz_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::ServiceControlFilterTest
  - espv2::envoy::http_filters::service_control::ServiceControlFilterTest::SetUp
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  source_file: /src/esp-v2/src/envoy/http/service_control/filter_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::ClientCacheTestBase
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::checkAndReset
  - espv2::envoy::http_filters::service_control::test::ClientCacheTestBase::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseNetworkFailClosedTest::SetUp
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheQuotaResponseErrorTypeTest::runTest
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::TearDown
  - espv2::envoy::http_filters::service_control::test::ClientCacheHttpRequestTest::injectFactoryMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::SetUp
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::setupHttpMocks
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckRequest
  - espv2::envoy::http_filters::service_control::test::ClientCacheCheckHttpRequestTest::getValidCheckResponse
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  - espv2::envoy::http_filters::service_control::test::TEST_F
  source_file: /src/esp-v2/src/envoy/http/service_control/client_cache_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::fillGCPInfo
  - espv2::envoy::http_filters::service_control::fillLoggedHeader
  - espv2::envoy::http_filters::service_control::fillLatency
  - espv2::envoy::http_filters::service_control::getFrontendProtocol
  - espv2::envoy::http_filters::service_control::getBackendProtocol
  - espv2::envoy::http_filters::service_control::fillJwtPayloads
  - espv2::envoy::http_filters::service_control::fillJwtPayload
  - espv2::envoy::http_filters::service_control::extractAPIKey
  - espv2::envoy::http_filters::service_control::fillStatus
  - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::fillGCPInfo
  - espv2::envoy::http_filters::service_control::fillLoggedHeader
  - espv2::envoy::http_filters::service_control::fillLatency
  - espv2::envoy::http_filters::service_control::getFrontendProtocol
  - espv2::envoy::http_filters::service_control::getBackendProtocol
  - espv2::envoy::http_filters::service_control::fillJwtPayloads
  - espv2::envoy::http_filters::service_control::fillJwtPayload
  - espv2::envoy::http_filters::service_control::extractAPIKey
  - espv2::envoy::http_filters::service_control::fillStatus
  - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::fillGCPInfo
  - espv2::envoy::http_filters::service_control::fillLoggedHeader
  - espv2::envoy::http_filters::service_control::fillLatency
  - espv2::envoy::http_filters::service_control::getFrontendProtocol
  - espv2::envoy::http_filters::service_control::getBackendProtocol
  - espv2::envoy::http_filters::service_control::fillJwtPayloads
  - espv2::envoy::http_filters::service_control::fillJwtPayload
  - espv2::envoy::http_filters::service_control::extractAPIKey
  - espv2::envoy::http_filters::service_control::fillStatus
  - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::fillGCPInfo
  - espv2::envoy::http_filters::service_control::fillLoggedHeader
  - espv2::envoy::http_filters::service_control::fillLatency
  - espv2::envoy::http_filters::service_control::getFrontendProtocol
  - espv2::envoy::http_filters::service_control::getBackendProtocol
  - espv2::envoy::http_filters::service_control::fillJwtPayloads
  - espv2::envoy::http_filters::service_control::fillJwtPayload
  - espv2::envoy::http_filters::service_control::extractAPIKey
  - espv2::envoy::http_filters::service_control::fillStatus
  - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::fillGCPInfo
  - espv2::envoy::http_filters::service_control::fillLoggedHeader
  - espv2::envoy::http_filters::service_control::fillLatency
  - espv2::envoy::http_filters::service_control::getFrontendProtocol
  - espv2::envoy::http_filters::service_control::getBackendProtocol
  - espv2::envoy::http_filters::service_control::fillJwtPayloads
  - espv2::envoy::http_filters::service_control::fillJwtPayload
  - espv2::envoy::http_filters::service_control::extractAPIKey
  - espv2::envoy::http_filters::service_control::fillStatus
  - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::fillGCPInfo
  - espv2::envoy::http_filters::service_control::fillLoggedHeader
  - espv2::envoy::http_filters::service_control::fillLatency
  - espv2::envoy::http_filters::service_control::getFrontendProtocol
  - espv2::envoy::http_filters::service_control::getBackendProtocol
  - espv2::envoy::http_filters::service_control::fillJwtPayloads
  - espv2::envoy::http_filters::service_control::fillJwtPayload
  - espv2::envoy::http_filters::service_control::extractAPIKey
  - espv2::envoy::http_filters::service_control::fillStatus
  - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::fillGCPInfo
  - espv2::envoy::http_filters::service_control::fillLoggedHeader
  - espv2::envoy::http_filters::service_control::fillLatency
  - espv2::envoy::http_filters::service_control::getFrontendProtocol
  - espv2::envoy::http_filters::service_control::getBackendProtocol
  - espv2::envoy::http_filters::service_control::fillJwtPayloads
  - espv2::envoy::http_filters::service_control::fillJwtPayload
  - espv2::envoy::http_filters::service_control::extractAPIKey
  - espv2::envoy::http_filters::service_control::fillStatus
  - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::fillGCPInfo
  - espv2::envoy::http_filters::service_control::fillLoggedHeader
  - espv2::envoy::http_filters::service_control::fillLatency
  - espv2::envoy::http_filters::service_control::getFrontendProtocol
  - espv2::envoy::http_filters::service_control::getBackendProtocol
  - espv2::envoy::http_filters::service_control::fillJwtPayloads
  - espv2::envoy::http_filters::service_control::fillJwtPayload
  - espv2::envoy::http_filters::service_control::extractAPIKey
  - espv2::envoy::http_filters::service_control::fillStatus
  - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::fillGCPInfo
  - espv2::envoy::http_filters::service_control::fillLoggedHeader
  - espv2::envoy::http_filters::service_control::fillLatency
  - espv2::envoy::http_filters::service_control::getFrontendProtocol
  - espv2::envoy::http_filters::service_control::getBackendProtocol
  - espv2::envoy::http_filters::service_control::fillJwtPayloads
  - espv2::envoy::http_filters::service_control::fillJwtPayload
  - espv2::envoy::http_filters::service_control::extractAPIKey
  - espv2::envoy::http_filters::service_control::fillStatus
  - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::fillGCPInfo
  - espv2::envoy::http_filters::service_control::fillLoggedHeader
  - espv2::envoy::http_filters::service_control::fillLatency
  - espv2::envoy::http_filters::service_control::getFrontendProtocol
  - espv2::envoy::http_filters::service_control::getBackendProtocol
  - espv2::envoy::http_filters::service_control::fillJwtPayloads
  - espv2::envoy::http_filters::service_control::fillJwtPayload
  - espv2::envoy::http_filters::service_control::extractAPIKey
  - espv2::envoy::http_filters::service_control::fillStatus
  - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::fillGCPInfo
  - espv2::envoy::http_filters::service_control::fillLoggedHeader
  - espv2::envoy::http_filters::service_control::fillLatency
  - espv2::envoy::http_filters::service_control::getFrontendProtocol
  - espv2::envoy::http_filters::service_control::getBackendProtocol
  - espv2::envoy::http_filters::service_control::fillJwtPayloads
  - espv2::envoy::http_filters::service_control::fillJwtPayload
  - espv2::envoy::http_filters::service_control::extractAPIKey
  - espv2::envoy::http_filters::service_control::fillStatus
  - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::fillGCPInfo
  - espv2::envoy::http_filters::service_control::fillLoggedHeader
  - espv2::envoy::http_filters::service_control::fillLatency
  - espv2::envoy::http_filters::service_control::getFrontendProtocol
  - espv2::envoy::http_filters::service_control::getBackendProtocol
  - espv2::envoy::http_filters::service_control::fillJwtPayloads
  - espv2::envoy::http_filters::service_control::fillJwtPayload
  - espv2::envoy::http_filters::service_control::extractAPIKey
  - espv2::envoy::http_filters::service_control::fillStatus
  - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::fillGCPInfo
  - espv2::envoy::http_filters::service_control::fillLoggedHeader
  - espv2::envoy::http_filters::service_control::fillLatency
  - espv2::envoy::http_filters::service_control::getFrontendProtocol
  - espv2::envoy::http_filters::service_control::getBackendProtocol
  - espv2::envoy::http_filters::service_control::fillJwtPayloads
  - espv2::envoy::http_filters::service_control::fillJwtPayload
  - espv2::envoy::http_filters::service_control::extractAPIKey
  - espv2::envoy::http_filters::service_control::fillStatus
  - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::fillGCPInfo
  - espv2::envoy::http_filters::service_control::fillLoggedHeader
  - espv2::envoy::http_filters::service_control::fillLatency
  - espv2::envoy::http_filters::service_control::getFrontendProtocol
  - espv2::envoy::http_filters::service_control::getBackendProtocol
  - espv2::envoy::http_filters::service_control::fillJwtPayloads
  - espv2::envoy::http_filters::service_control::fillJwtPayload
  - espv2::envoy::http_filters::service_control::extractAPIKey
  - espv2::envoy::http_filters::service_control::fillStatus
  - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::fillGCPInfo
  - espv2::envoy::http_filters::service_control::fillLoggedHeader
  - espv2::envoy::http_filters::service_control::fillLatency
  - espv2::envoy::http_filters::service_control::getFrontendProtocol
  - espv2::envoy::http_filters::service_control::getBackendProtocol
  - espv2::envoy::http_filters::service_control::fillJwtPayloads
  - espv2::envoy::http_filters::service_control::fillJwtPayload
  - espv2::envoy::http_filters::service_control::extractAPIKey
  - espv2::envoy::http_filters::service_control::fillStatus
  - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::convertNsToMs
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromQuery
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromHeader
  - espv2::envoy::http_filters::service_control::extractAPIKeyFromCookie
  - espv2::envoy::http_filters::service_control::extractJwtPayload
  - espv2::envoy::http_filters::service_control::isGrpcRequest
  - espv2::envoy::http_filters::service_control::fillGCPInfo
  - espv2::envoy::http_filters::service_control::fillLoggedHeader
  - espv2::envoy::http_filters::service_control::fillLatency
  - espv2::envoy::http_filters::service_control::getFrontendProtocol
  - espv2::envoy::http_filters::service_control::getBackendProtocol
  - espv2::envoy::http_filters::service_control::fillJwtPayloads
  - espv2::envoy::http_filters::service_control::fillJwtPayload
  - espv2::envoy::http_filters::service_control::extractAPIKey
  - espv2::envoy::http_filters::service_control::fillStatus
  - espv2::envoy::http_filters::service_control::extractIPFromForwardedHeader
  source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::log
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::log
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::log
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::log
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::log
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::log
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::log
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::log
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::log
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::log
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::log
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::log
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::log
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::log
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::log
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeHeaders
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::onCheckDone
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::rejectRequest
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeData
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::decodeTrailers
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::log
  source_file: /src/esp-v2/src/envoy/http/service_control/filter.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  - espv2::envoy::http_filters::service_control::TEST
  source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: filter_proto
        type: std::string
      - name: expected_zone
        type: std::string
      - name: expected_platform
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 46
        line_start: 42
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: service_proto
        type: std::string
      - name: expected_output
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 97
        line_start: 93
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: requirement_proto
        type: std::string
      - name: headers
        type: Envoy::Http::TestRequestHeaderMapImpl
      - name: expected_api_key
        type: std::string
      item_type: struct
      name: TestCase
      pos:
        line_end: 170
        line_start: 166
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    - fields:
      - name: end_time
        type: std::chrono::nanoseconds
      - name: first_upstream_tx_byte_sent
        type: std::chrono::nanoseconds
      - name: last_upstream_rx_byte_received
        type: std::chrono::nanoseconds
      - name: expect_request_time_ms
        type: int
      - name: expect_backend_time_ms
        type: int
      - name: expect_overhead_time_ms
        type: int
      item_type: struct
      name: TestCase
      pos:
        line_end: 292
        line_start: 285
        source_file: /src/esp-v2/src/envoy/http/service_control/handler_utils_test.cc
    typedefs: []
    union: []
- function_names: []
  source_file: /src/esp-v2/src/envoy/http/service_control/client_cache.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~ServiceControlHandler()
  - ~CheckDoneCallback()
  - ~ServiceControlHandlerFactory()
  - ~ServiceControlHandler()
  - ~CheckDoneCallback()
  - ~ServiceControlHandlerFactory()
  - ~ServiceControlHandler()
  - ~CheckDoneCallback()
  - ~ServiceControlHandlerFactory()
  - ~ServiceControlHandler()
  - ~CheckDoneCallback()
  - ~ServiceControlHandlerFactory()
  - ~ServiceControlHandler()
  - ~CheckDoneCallback()
  - ~ServiceControlHandlerFactory()
  - ~ServiceControlHandler()
  - ~CheckDoneCallback()
  - ~ServiceControlHandlerFactory()
  - ~ServiceControlHandler()
  - ~CheckDoneCallback()
  - ~ServiceControlHandlerFactory()
  - ~ServiceControlHandler()
  - ~CheckDoneCallback()
  - ~ServiceControlHandlerFactory()
  - ~ServiceControlHandler()
  - ~CheckDoneCallback()
  - ~ServiceControlHandlerFactory()
  - ~ServiceControlHandler()
  - ~CheckDoneCallback()
  - ~ServiceControlHandlerFactory()
  - ~ServiceControlHandler()
  - ~CheckDoneCallback()
  - ~ServiceControlHandlerFactory()
  - ~ServiceControlHandler()
  - ~CheckDoneCallback()
  - ~ServiceControlHandlerFactory()
  - ~ServiceControlHandler()
  - ~CheckDoneCallback()
  - ~ServiceControlHandlerFactory()
  - ~ServiceControlHandler()
  - ~CheckDoneCallback()
  - ~ServiceControlHandlerFactory()
  - ~ServiceControlHandler()
  - ~CheckDoneCallback()
  - ~ServiceControlHandlerFactory()
  - ~ServiceControlHandler()
  - ~CheckDoneCallback()
  - ~ServiceControlHandlerFactory()
  source_file: /src/esp-v2/src/envoy/http/service_control/handler.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
  - '& call() const'
  - espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
  - "& config()\n      const"
  - '& service_ctx() const'
  - '& metric_costs() const'
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
  - "&\n  default_api_keys() const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
  - espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
  - '& call() const'
  - espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
  - "& config()\n      const"
  - '& service_ctx() const'
  - '& metric_costs() const'
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
  - "&\n  default_api_keys() const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
  - espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
  - '& call() const'
  - espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
  - "& config()\n      const"
  - '& service_ctx() const'
  - '& metric_costs() const'
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
  - "&\n  default_api_keys() const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
  - espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
  - '& call() const'
  - espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
  - "& config()\n      const"
  - '& service_ctx() const'
  - '& metric_costs() const'
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
  - "&\n  default_api_keys() const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
  - espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
  - '& call() const'
  - espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
  - "& config()\n      const"
  - '& service_ctx() const'
  - '& metric_costs() const'
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
  - "&\n  default_api_keys() const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
  - espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
  - '& call() const'
  - espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
  - "& config()\n      const"
  - '& service_ctx() const'
  - '& metric_costs() const'
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
  - "&\n  default_api_keys() const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
  - espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
  - '& call() const'
  - espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
  - "& config()\n      const"
  - '& service_ctx() const'
  - '& metric_costs() const'
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
  - "&\n  default_api_keys() const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
  - espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
  - '& call() const'
  - espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
  - "& config()\n      const"
  - '& service_ctx() const'
  - '& metric_costs() const'
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
  - "&\n  default_api_keys() const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
  - espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
  - '& call() const'
  - espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
  - "& config()\n      const"
  - '& service_ctx() const'
  - '& metric_costs() const'
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
  - "&\n  default_api_keys() const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
  - espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
  - '& call() const'
  - espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
  - "& config()\n      const"
  - '& service_ctx() const'
  - '& metric_costs() const'
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
  - "&\n  default_api_keys() const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
  - espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
  - '& call() const'
  - espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
  - "& config()\n      const"
  - '& service_ctx() const'
  - '& metric_costs() const'
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
  - "&\n  default_api_keys() const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
  - espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
  - '& call() const'
  - espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
  - "& config()\n      const"
  - '& service_ctx() const'
  - '& metric_costs() const'
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
  - "&\n  default_api_keys() const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
  - espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
  - '& call() const'
  - espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
  - "& config()\n      const"
  - '& service_ctx() const'
  - '& metric_costs() const'
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
  - "&\n  default_api_keys() const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
  - espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
  - '& call() const'
  - espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
  - "& config()\n      const"
  - '& service_ctx() const'
  - '& metric_costs() const'
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
  - "&\n  default_api_keys() const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
  - espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
  - '& call() const'
  - espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
  - "& config()\n      const"
  - '& service_ctx() const'
  - '& metric_costs() const'
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
  - "&\n  default_api_keys() const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
  - espv2::envoy::http_filters::service_control::ServiceContext::ServiceContext
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::ServiceContext::get_min_stream_report_interval_ms
  - '& call() const'
  - espv2::envoy::http_filters::service_control::RequirementContext::RequirementContext
  - "& config()\n      const"
  - '& service_ctx() const'
  - '& metric_costs() const'
  - "& config()\n      const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::find_requirement
  - "&\n  default_api_keys() const"
  - espv2::envoy::http_filters::service_control::FilterConfigParser::non_match_rqm_ctx
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::PerRouteFilterConfig
  - espv2::envoy::http_filters::service_control::PerRouteFilterConfig::operation_name
  source_file: /src/esp-v2/src/envoy/http/service_control/config_parser.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
  - HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
  - HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
  - HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
  - HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
  - HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
  - HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
  - HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
  - HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
  - HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
  - HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
  - HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
  - HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
  - HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
  - HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
  - HttpCallFactoryImpl::~HttpCallFactoryImpl()
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallImpl::HttpCallImpl
  - espv2::envoy::http_filters::service_control::HttpCallImpl::setDoneFunc
  - espv2::envoy::http_filters::service_control::HttpCallImpl::call
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onSuccess
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onFailure
  - espv2::envoy::http_filters::service_control::HttpCallImpl::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::http_filters::service_control::HttpCallImpl::attemptRetry
  - espv2::envoy::http_filters::service_control::HttpCallImpl::makeOneCall
  - espv2::envoy::http_filters::service_control::HttpCallImpl::cancel
  - espv2::envoy::http_filters::service_control::HttpCallImpl::reset
  - espv2::envoy::http_filters::service_control::HttpCallImpl::prepareHeaders
  - espv2::envoy::http_filters::service_control::HttpCallImpl::deferredDelete
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::HttpCallFactoryImpl
  - espv2::envoy::http_filters::service_control::HttpCallFactoryImpl::createHttpCall
  - HttpCallFactoryImpl::~HttpCallFactoryImpl()
  source_file: /src/esp-v2/src/envoy/http/service_control/http_call.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~ServiceControlCall()
  - ~ServiceControlCallFactory()
  - ~ServiceControlCall()
  - ~ServiceControlCallFactory()
  - ~ServiceControlCall()
  - ~ServiceControlCallFactory()
  - ~ServiceControlCall()
  - ~ServiceControlCallFactory()
  - ~ServiceControlCall()
  - ~ServiceControlCallFactory()
  - ~ServiceControlCall()
  - ~ServiceControlCallFactory()
  - ~ServiceControlCall()
  - ~ServiceControlCallFactory()
  - ~ServiceControlCall()
  - ~ServiceControlCallFactory()
  - ~ServiceControlCall()
  - ~ServiceControlCallFactory()
  - ~ServiceControlCall()
  - ~ServiceControlCallFactory()
  - ~ServiceControlCall()
  - ~ServiceControlCallFactory()
  - ~ServiceControlCall()
  - ~ServiceControlCallFactory()
  - ~ServiceControlCall()
  - ~ServiceControlCallFactory()
  - ~ServiceControlCall()
  - ~ServiceControlCallFactory()
  - ~ServiceControlCall()
  - ~ServiceControlCallFactory()
  - ~ServiceControlCall()
  - ~ServiceControlCallFactory()
  source_file: /src/esp-v2/src/envoy/http/service_control/service_control_call.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isConfigured
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isQuotaRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isCheckRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::isReportRequired
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::hasApiKey
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::ServiceControlHandlerFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerFactoryImpl::createHandler
  source_file: /src/esp-v2/src/envoy/http/service_control/handler_impl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HttpCallTest::HttpCallTest
  - espv2::envoy::http_filters::service_control::HttpCallTest::SetUp
  - espv2::envoy::http_filters::service_control::HttpCallTest::TearDown
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeMockChildSpan
  - '& lastHttpRequest() const'
  - espv2::envoy::http_filters::service_control::HttpCallTest::makeResponseWithStatus
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  source_file: /src/esp-v2/src/envoy/http/service_control/http_call_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~HttpCall()
  - ~HttpCallFactory()
  - ~HttpCall()
  - ~HttpCallFactory()
  - ~HttpCall()
  - ~HttpCallFactory()
  - ~HttpCall()
  - ~HttpCallFactory()
  - ~HttpCall()
  - ~HttpCallFactory()
  - ~HttpCall()
  - ~HttpCallFactory()
  - ~HttpCall()
  - ~HttpCallFactory()
  - ~HttpCall()
  - ~HttpCallFactory()
  - ~HttpCall()
  - ~HttpCallFactory()
  - ~HttpCall()
  - ~HttpCallFactory()
  - ~HttpCall()
  - ~HttpCallFactory()
  - ~HttpCall()
  - ~HttpCallFactory()
  - ~HttpCall()
  - ~HttpCallFactory()
  - ~HttpCall()
  - ~HttpCallFactory()
  - ~HttpCall()
  - ~HttpCallFactory()
  - ~HttpCall()
  - ~HttpCallFactory()
  source_file: /src/esp-v2/src/envoy/http/service_control/http_call.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
  - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
  - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
  - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
  - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
  - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
  - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
  - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
  - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
  - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
  - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
  - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
  - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
  - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
  - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
  - espv2::envoy::http_filters::service_control::ServiceControlFilterStats::collectCallStatus
  source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
  - espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
  - espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
  - espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
  - espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
  - espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
  - espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
  - espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
  - espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
  - espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
  - espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
  - espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
  - espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
  - espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
  - espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
  - espv2::envoy::http_filters::service_control::FilterConfigParser::FilterConfigParser
  source_file: /src/esp-v2/src/envoy/http/service_control/config_parser.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
  - ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
  - ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
  - ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
  - ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
  - ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
  - ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
  - ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
  - ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
  - ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
  - ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
  - ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
  - ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
  - ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
  - ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
  - ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::ServiceControlHandlerImpl
  - ServiceControlHandlerImpl::~ServiceControlHandlerImpl()
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::getOperationFromPerRoute
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillFilterState
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onDestroy
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::fillOperationInfo
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::prepareReportRequest
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::onCheckResponse
  - espv2::envoy::http_filters::service_control::ServiceControlHandlerImpl::callReport
  source_file: /src/esp-v2/src/envoy/http/service_control/handler_impl.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::http_filters::service_control::fuzz::doTest
  - espv2::envoy::http_filters::service_control::fuzz::DEFINE_PROTO_FUZZER
  source_file: /src/esp-v2/src/envoy/http/service_control/filter_fuzz_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
  - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
  - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
  - espv2::envoy::http_filters::service_control::ClientCache::ClientCache
  - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
  - espv2::envoy::http_filters::service_control::ClientCache::callCheck
  - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
  - espv2::envoy::http_filters::service_control::ClientCache::callQuota
  - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
  - espv2::envoy::http_filters::service_control::ClientCache::callReport
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
  - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
  - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
  - espv2::envoy::http_filters::service_control::ClientCache::ClientCache
  - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
  - espv2::envoy::http_filters::service_control::ClientCache::callCheck
  - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
  - espv2::envoy::http_filters::service_control::ClientCache::callQuota
  - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
  - espv2::envoy::http_filters::service_control::ClientCache::callReport
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
  - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
  - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
  - espv2::envoy::http_filters::service_control::ClientCache::ClientCache
  - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
  - espv2::envoy::http_filters::service_control::ClientCache::callCheck
  - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
  - espv2::envoy::http_filters::service_control::ClientCache::callQuota
  - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
  - espv2::envoy::http_filters::service_control::ClientCache::callReport
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
  - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
  - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
  - espv2::envoy::http_filters::service_control::ClientCache::ClientCache
  - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
  - espv2::envoy::http_filters::service_control::ClientCache::callCheck
  - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
  - espv2::envoy::http_filters::service_control::ClientCache::callQuota
  - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
  - espv2::envoy::http_filters::service_control::ClientCache::callReport
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
  - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
  - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
  - espv2::envoy::http_filters::service_control::ClientCache::ClientCache
  - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
  - espv2::envoy::http_filters::service_control::ClientCache::callCheck
  - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
  - espv2::envoy::http_filters::service_control::ClientCache::callQuota
  - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
  - espv2::envoy::http_filters::service_control::ClientCache::callReport
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
  - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
  - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
  - espv2::envoy::http_filters::service_control::ClientCache::ClientCache
  - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
  - espv2::envoy::http_filters::service_control::ClientCache::callCheck
  - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
  - espv2::envoy::http_filters::service_control::ClientCache::callQuota
  - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
  - espv2::envoy::http_filters::service_control::ClientCache::callReport
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
  - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
  - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
  - espv2::envoy::http_filters::service_control::ClientCache::ClientCache
  - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
  - espv2::envoy::http_filters::service_control::ClientCache::callCheck
  - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
  - espv2::envoy::http_filters::service_control::ClientCache::callQuota
  - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
  - espv2::envoy::http_filters::service_control::ClientCache::callReport
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
  - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
  - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
  - espv2::envoy::http_filters::service_control::ClientCache::ClientCache
  - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
  - espv2::envoy::http_filters::service_control::ClientCache::callCheck
  - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
  - espv2::envoy::http_filters::service_control::ClientCache::callQuota
  - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
  - espv2::envoy::http_filters::service_control::ClientCache::callReport
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
  - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
  - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
  - espv2::envoy::http_filters::service_control::ClientCache::ClientCache
  - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
  - espv2::envoy::http_filters::service_control::ClientCache::callCheck
  - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
  - espv2::envoy::http_filters::service_control::ClientCache::callQuota
  - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
  - espv2::envoy::http_filters::service_control::ClientCache::callReport
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
  - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
  - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
  - espv2::envoy::http_filters::service_control::ClientCache::ClientCache
  - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
  - espv2::envoy::http_filters::service_control::ClientCache::callCheck
  - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
  - espv2::envoy::http_filters::service_control::ClientCache::callQuota
  - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
  - espv2::envoy::http_filters::service_control::ClientCache::callReport
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
  - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
  - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
  - espv2::envoy::http_filters::service_control::ClientCache::ClientCache
  - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
  - espv2::envoy::http_filters::service_control::ClientCache::callCheck
  - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
  - espv2::envoy::http_filters::service_control::ClientCache::callQuota
  - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
  - espv2::envoy::http_filters::service_control::ClientCache::callReport
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
  - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
  - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
  - espv2::envoy::http_filters::service_control::ClientCache::ClientCache
  - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
  - espv2::envoy::http_filters::service_control::ClientCache::callCheck
  - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
  - espv2::envoy::http_filters::service_control::ClientCache::callQuota
  - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
  - espv2::envoy::http_filters::service_control::ClientCache::callReport
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
  - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
  - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
  - espv2::envoy::http_filters::service_control::ClientCache::ClientCache
  - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
  - espv2::envoy::http_filters::service_control::ClientCache::callCheck
  - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
  - espv2::envoy::http_filters::service_control::ClientCache::callQuota
  - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
  - espv2::envoy::http_filters::service_control::ClientCache::callReport
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
  - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
  - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
  - espv2::envoy::http_filters::service_control::ClientCache::ClientCache
  - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
  - espv2::envoy::http_filters::service_control::ClientCache::callCheck
  - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
  - espv2::envoy::http_filters::service_control::ClientCache::callQuota
  - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
  - espv2::envoy::http_filters::service_control::ClientCache::callReport
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
  - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
  - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
  - espv2::envoy::http_filters::service_control::ClientCache::ClientCache
  - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
  - espv2::envoy::http_filters::service_control::ClientCache::callCheck
  - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
  - espv2::envoy::http_filters::service_control::ClientCache::callQuota
  - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
  - espv2::envoy::http_filters::service_control::ClientCache::callReport
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::failCallStatusToScResponseError
  - espv2::envoy::http_filters::service_control::getCheckAggregationOptions
  - espv2::envoy::http_filters::service_control::getQuotaAggregationOptions
  - espv2::envoy::http_filters::service_control::getReportAggregationOptions
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::EnvoyPeriodicTimer
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::call
  - espv2::envoy::http_filters::service_control::EnvoyPeriodicTimer::Stop
  - espv2::envoy::http_filters::service_control::ClientCache::processScCallTransportStatus
  - espv2::envoy::http_filters::service_control::ClientCache::initHttpRequestSetting
  - espv2::envoy::http_filters::service_control::ClientCache::collectCallStatus
  - espv2::envoy::http_filters::service_control::ClientCache::ClientCache
  - espv2::envoy::http_filters::service_control::ClientCache::collectScResponseErrorStats
  - espv2::envoy::http_filters::service_control::ClientCache::callCheck
  - espv2::envoy::http_filters::service_control::ClientCache::handleCheckResponse
  - espv2::envoy::http_filters::service_control::ClientCache::callQuota
  - espv2::envoy::http_filters::service_control::ClientCache::handleQuotaOnDone
  - espv2::envoy::http_filters::service_control::ClientCache::callReport
  source_file: /src/esp-v2/src/envoy/http/service_control/client_cache.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::FilterStatsTest::FilterStatsTest
  - espv2::envoy::http_filters::service_control::FilterStatsTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    - fields:
      - name: code
        type: StatusCode
      - name: '& counter'
        type: Envoy::Stats::Counter
      item_type: struct
      name: CodeToCounter
      pos:
        line_end: 33
        line_start: 30
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats_test.cc
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerTest::HandlerTest
  - ~HandlerTest()
  - espv2::envoy::http_filters::service_control::HandlerTest::SetUp
  - espv2::envoy::http_filters::service_control::HandlerTest::setUp
  - espv2::envoy::http_filters::service_control::HandlerTest::initExpectedReportInfo
  - espv2::envoy::http_filters::service_control::HandlerTest::checkAndReset
  - espv2::envoy::http_filters::service_control::HandlerTest::setPerRouteOperation
  - MATCH
  - MATCH2
  - MATCH_VECTOR
  - MATCH_OPTIONAL
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - MATCH_DEFAULT_REPORT_INFO
  - espv2::envoy::http_filters::service_control::MATCHER_P4
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::MATCHER_P
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::HandlerReportStatusTest::runTest
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  - espv2::envoy::http_filters::service_control::TEST_F
  source_file: /src/esp-v2/src/envoy/http/service_control/handler_impl_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
  - ~MockCheckDoneCallback()
  - espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
  - ~MockHttpCall()
  - espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
  - ~MockHttpCallFactory()
  - espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
  - ~MockCheckDoneCallback()
  - espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
  - ~MockHttpCall()
  - espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
  - ~MockHttpCallFactory()
  - espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
  - ~MockCheckDoneCallback()
  - espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
  - ~MockHttpCall()
  - espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
  - ~MockHttpCallFactory()
  - espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
  - ~MockCheckDoneCallback()
  - espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
  - ~MockHttpCall()
  - espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
  - ~MockHttpCallFactory()
  - espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
  - ~MockCheckDoneCallback()
  - espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
  - ~MockHttpCall()
  - espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
  - ~MockHttpCallFactory()
  - espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
  - ~MockCheckDoneCallback()
  - espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
  - ~MockHttpCall()
  - espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
  - ~MockHttpCallFactory()
  - espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
  - ~MockCheckDoneCallback()
  - espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
  - ~MockHttpCall()
  - espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
  - ~MockHttpCallFactory()
  - espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
  - ~MockCheckDoneCallback()
  - espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
  - ~MockHttpCall()
  - espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
  - ~MockHttpCallFactory()
  - espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
  - ~MockCheckDoneCallback()
  - espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
  - ~MockHttpCall()
  - espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
  - ~MockHttpCallFactory()
  - espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
  - ~MockCheckDoneCallback()
  - espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
  - ~MockHttpCall()
  - espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
  - ~MockHttpCallFactory()
  - espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
  - ~MockCheckDoneCallback()
  - espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
  - ~MockHttpCall()
  - espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
  - ~MockHttpCallFactory()
  - espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
  - ~MockCheckDoneCallback()
  - espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
  - ~MockHttpCall()
  - espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
  - ~MockHttpCallFactory()
  - espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
  - ~MockCheckDoneCallback()
  - espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
  - ~MockHttpCall()
  - espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
  - ~MockHttpCallFactory()
  - espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
  - ~MockCheckDoneCallback()
  - espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
  - ~MockHttpCall()
  - espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
  - ~MockHttpCallFactory()
  - espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
  - ~MockCheckDoneCallback()
  - espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
  - ~MockHttpCall()
  - espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
  - ~MockHttpCallFactory()
  - espv2::envoy::http_filters::service_control::MockCheckDoneCallback::MockCheckDoneCallback
  - ~MockCheckDoneCallback()
  - espv2::envoy::http_filters::service_control::MockHttpCall::MockHttpCall
  - ~MockHttpCall()
  - espv2::envoy::http_filters::service_control::MockHttpCallFactory::MockHttpCallFactory
  - ~MockHttpCallFactory()
  source_file: /src/esp-v2/src/envoy/http/service_control/mocks.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
  - '& handler_factory() const'
  - '& stats()'
  - espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
  - '& handler_factory() const'
  - '& stats()'
  - espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
  - '& handler_factory() const'
  - '& stats()'
  - espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
  - '& handler_factory() const'
  - '& stats()'
  - espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
  - '& handler_factory() const'
  - '& stats()'
  - espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
  - '& handler_factory() const'
  - '& stats()'
  - espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
  - '& handler_factory() const'
  - '& stats()'
  - espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
  - '& handler_factory() const'
  - '& stats()'
  - espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
  - '& handler_factory() const'
  - '& stats()'
  - espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
  - '& handler_factory() const'
  - '& stats()'
  - espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
  - '& handler_factory() const'
  - '& stats()'
  - espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
  - '& handler_factory() const'
  - '& stats()'
  - espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
  - '& handler_factory() const'
  - '& stats()'
  - espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
  - '& handler_factory() const'
  - '& stats()'
  - espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
  - '& handler_factory() const'
  - '& stats()'
  - espv2::envoy::http_filters::service_control::ServiceControlFilterConfig::ServiceControlFilterConfig
  - '& handler_factory() const'
  - '& stats()'
  source_file: /src/esp-v2/src/envoy/http/service_control/filter_config.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::FilterFactory
  - espv2::envoy::http_filters::service_control::FilterFactory::createFilterFactoryFromProtoTyped
  - espv2::envoy::http_filters::service_control::FilterFactory::createRouteSpecificFilterConfigTyped
  source_file: /src/esp-v2/src/envoy/http/service_control/filter_factory.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
  - espv2::envoy::http_filters::service_control::ServiceControlFilter::ServiceControlFilter
  source_file: /src/esp-v2/src/envoy/http/service_control/filter.h
  types:
    enum:
    - enumerators:
      - name: Init
      - name: Complete
      - name: Calling
      - name: Responded
      item_type: enum
      name: State
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/esp-v2/src/envoy/http/service_control/filter.h
    - enumerators:
      - name: Init
      - name: Complete
      - name: Calling
      - name: Responded
      item_type: enum
      name: State
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/esp-v2/src/envoy/http/service_control/filter.h
    - enumerators:
      - name: Init
      - name: Complete
      - name: Calling
      - name: Responded
      item_type: enum
      name: State
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/esp-v2/src/envoy/http/service_control/filter.h
    - enumerators:
      - name: Init
      - name: Complete
      - name: Calling
      - name: Responded
      item_type: enum
      name: State
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/esp-v2/src/envoy/http/service_control/filter.h
    - enumerators:
      - name: Init
      - name: Complete
      - name: Calling
      - name: Responded
      item_type: enum
      name: State
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/esp-v2/src/envoy/http/service_control/filter.h
    - enumerators:
      - name: Init
      - name: Complete
      - name: Calling
      - name: Responded
      item_type: enum
      name: State
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/esp-v2/src/envoy/http/service_control/filter.h
    - enumerators:
      - name: Init
      - name: Complete
      - name: Calling
      - name: Responded
      item_type: enum
      name: State
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/esp-v2/src/envoy/http/service_control/filter.h
    - enumerators:
      - name: Init
      - name: Complete
      - name: Calling
      - name: Responded
      item_type: enum
      name: State
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/esp-v2/src/envoy/http/service_control/filter.h
    - enumerators:
      - name: Init
      - name: Complete
      - name: Calling
      - name: Responded
      item_type: enum
      name: State
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/esp-v2/src/envoy/http/service_control/filter.h
    - enumerators:
      - name: Init
      - name: Complete
      - name: Calling
      - name: Responded
      item_type: enum
      name: State
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/esp-v2/src/envoy/http/service_control/filter.h
    - enumerators:
      - name: Init
      - name: Complete
      - name: Calling
      - name: Responded
      item_type: enum
      name: State
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/esp-v2/src/envoy/http/service_control/filter.h
    - enumerators:
      - name: Init
      - name: Complete
      - name: Calling
      - name: Responded
      item_type: enum
      name: State
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/esp-v2/src/envoy/http/service_control/filter.h
    - enumerators:
      - name: Init
      - name: Complete
      - name: Calling
      - name: Responded
      item_type: enum
      name: State
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/esp-v2/src/envoy/http/service_control/filter.h
    - enumerators:
      - name: Init
      - name: Complete
      - name: Calling
      - name: Responded
      item_type: enum
      name: State
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/esp-v2/src/envoy/http/service_control/filter.h
    - enumerators:
      - name: Init
      - name: Complete
      - name: Calling
      - name: Responded
      item_type: enum
      name: State
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/esp-v2/src/envoy/http/service_control/filter.h
    - enumerators:
      - name: Init
      - name: Complete
      - name: Calling
      - name: Responded
      item_type: enum
      name: State
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/esp-v2/src/envoy/http/service_control/filter.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/esp-v2/src/envoy/http/service_control/service_control_callback_func.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createImdsTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::createIamTokenSub
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::ServiceControlCallImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callCheck
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callQuota
  - espv2::envoy::http_filters::service_control::ServiceControlCallImpl::callReport
  source_file: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - FILTER_STATS
  - CALL_STATUS_STATS
  - espv2::envoy::http_filters::service_control::create
  - FILTER_STATS
  - CALL_STATUS_STATS
  - espv2::envoy::http_filters::service_control::create
  - FILTER_STATS
  - CALL_STATUS_STATS
  - espv2::envoy::http_filters::service_control::create
  - FILTER_STATS
  - CALL_STATUS_STATS
  - espv2::envoy::http_filters::service_control::create
  - FILTER_STATS
  - CALL_STATUS_STATS
  - espv2::envoy::http_filters::service_control::create
  - FILTER_STATS
  - CALL_STATUS_STATS
  - espv2::envoy::http_filters::service_control::create
  - FILTER_STATS
  - CALL_STATUS_STATS
  - espv2::envoy::http_filters::service_control::create
  - FILTER_STATS
  - CALL_STATUS_STATS
  - espv2::envoy::http_filters::service_control::create
  - FILTER_STATS
  - CALL_STATUS_STATS
  - espv2::envoy::http_filters::service_control::create
  - FILTER_STATS
  - CALL_STATUS_STATS
  - espv2::envoy::http_filters::service_control::create
  - FILTER_STATS
  - CALL_STATUS_STATS
  - espv2::envoy::http_filters::service_control::create
  - FILTER_STATS
  - CALL_STATUS_STATS
  - espv2::envoy::http_filters::service_control::create
  - FILTER_STATS
  - CALL_STATUS_STATS
  - espv2::envoy::http_filters::service_control::create
  - FILTER_STATS
  - CALL_STATUS_STATS
  - espv2::envoy::http_filters::service_control::create
  - FILTER_STATS
  - CALL_STATUS_STATS
  - espv2::envoy::http_filters::service_control::create
  - FILTER_STATS
  - CALL_STATUS_STATS
  - espv2::envoy::http_filters::service_control::create
  source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields: []
      item_type: struct
      name: FilterStats
      pos:
        line_end: 72
        line_start: 70
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: CallStatusStats
      pos:
        line_end: 79
        line_start: 77
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields:
      - name: filter_
        type: FilterStats
      - name: check_
        type: CallStatusStats
      - name: allocate_quota_
        type: CallStatusStats
      - name: report_
        type: CallStatusStats
      - name: "collectCallStatus(CallStatusStats& filter_stats,\n                                const
          absl::StatusCode& code)"
        type: void
      item_type: struct
      name: ServiceControlFilterStats
      pos:
        line_end: 112
        line_start: 84
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: FilterStats
      pos:
        line_end: 72
        line_start: 70
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: CallStatusStats
      pos:
        line_end: 79
        line_start: 77
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields:
      - name: filter_
        type: FilterStats
      - name: check_
        type: CallStatusStats
      - name: allocate_quota_
        type: CallStatusStats
      - name: report_
        type: CallStatusStats
      - name: "collectCallStatus(CallStatusStats& filter_stats,\n                                const
          absl::StatusCode& code)"
        type: void
      item_type: struct
      name: ServiceControlFilterStats
      pos:
        line_end: 112
        line_start: 84
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: FilterStats
      pos:
        line_end: 72
        line_start: 70
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: CallStatusStats
      pos:
        line_end: 79
        line_start: 77
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields:
      - name: filter_
        type: FilterStats
      - name: check_
        type: CallStatusStats
      - name: allocate_quota_
        type: CallStatusStats
      - name: report_
        type: CallStatusStats
      - name: "collectCallStatus(CallStatusStats& filter_stats,\n                                const
          absl::StatusCode& code)"
        type: void
      item_type: struct
      name: ServiceControlFilterStats
      pos:
        line_end: 112
        line_start: 84
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: FilterStats
      pos:
        line_end: 72
        line_start: 70
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: CallStatusStats
      pos:
        line_end: 79
        line_start: 77
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields:
      - name: filter_
        type: FilterStats
      - name: check_
        type: CallStatusStats
      - name: allocate_quota_
        type: CallStatusStats
      - name: report_
        type: CallStatusStats
      - name: "collectCallStatus(CallStatusStats& filter_stats,\n                                const
          absl::StatusCode& code)"
        type: void
      item_type: struct
      name: ServiceControlFilterStats
      pos:
        line_end: 112
        line_start: 84
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: FilterStats
      pos:
        line_end: 72
        line_start: 70
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: CallStatusStats
      pos:
        line_end: 79
        line_start: 77
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields:
      - name: filter_
        type: FilterStats
      - name: check_
        type: CallStatusStats
      - name: allocate_quota_
        type: CallStatusStats
      - name: report_
        type: CallStatusStats
      - name: "collectCallStatus(CallStatusStats& filter_stats,\n                                const
          absl::StatusCode& code)"
        type: void
      item_type: struct
      name: ServiceControlFilterStats
      pos:
        line_end: 112
        line_start: 84
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: FilterStats
      pos:
        line_end: 72
        line_start: 70
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: CallStatusStats
      pos:
        line_end: 79
        line_start: 77
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields:
      - name: filter_
        type: FilterStats
      - name: check_
        type: CallStatusStats
      - name: allocate_quota_
        type: CallStatusStats
      - name: report_
        type: CallStatusStats
      - name: "collectCallStatus(CallStatusStats& filter_stats,\n                                const
          absl::StatusCode& code)"
        type: void
      item_type: struct
      name: ServiceControlFilterStats
      pos:
        line_end: 112
        line_start: 84
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: FilterStats
      pos:
        line_end: 72
        line_start: 70
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: CallStatusStats
      pos:
        line_end: 79
        line_start: 77
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields:
      - name: filter_
        type: FilterStats
      - name: check_
        type: CallStatusStats
      - name: allocate_quota_
        type: CallStatusStats
      - name: report_
        type: CallStatusStats
      - name: "collectCallStatus(CallStatusStats& filter_stats,\n                                const
          absl::StatusCode& code)"
        type: void
      item_type: struct
      name: ServiceControlFilterStats
      pos:
        line_end: 112
        line_start: 84
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: FilterStats
      pos:
        line_end: 72
        line_start: 70
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: CallStatusStats
      pos:
        line_end: 79
        line_start: 77
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields:
      - name: filter_
        type: FilterStats
      - name: check_
        type: CallStatusStats
      - name: allocate_quota_
        type: CallStatusStats
      - name: report_
        type: CallStatusStats
      - name: "collectCallStatus(CallStatusStats& filter_stats,\n                                const
          absl::StatusCode& code)"
        type: void
      item_type: struct
      name: ServiceControlFilterStats
      pos:
        line_end: 112
        line_start: 84
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: FilterStats
      pos:
        line_end: 72
        line_start: 70
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: CallStatusStats
      pos:
        line_end: 79
        line_start: 77
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields:
      - name: filter_
        type: FilterStats
      - name: check_
        type: CallStatusStats
      - name: allocate_quota_
        type: CallStatusStats
      - name: report_
        type: CallStatusStats
      - name: "collectCallStatus(CallStatusStats& filter_stats,\n                                const
          absl::StatusCode& code)"
        type: void
      item_type: struct
      name: ServiceControlFilterStats
      pos:
        line_end: 112
        line_start: 84
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: FilterStats
      pos:
        line_end: 72
        line_start: 70
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: CallStatusStats
      pos:
        line_end: 79
        line_start: 77
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields:
      - name: filter_
        type: FilterStats
      - name: check_
        type: CallStatusStats
      - name: allocate_quota_
        type: CallStatusStats
      - name: report_
        type: CallStatusStats
      - name: "collectCallStatus(CallStatusStats& filter_stats,\n                                const
          absl::StatusCode& code)"
        type: void
      item_type: struct
      name: ServiceControlFilterStats
      pos:
        line_end: 112
        line_start: 84
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: FilterStats
      pos:
        line_end: 72
        line_start: 70
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: CallStatusStats
      pos:
        line_end: 79
        line_start: 77
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields:
      - name: filter_
        type: FilterStats
      - name: check_
        type: CallStatusStats
      - name: allocate_quota_
        type: CallStatusStats
      - name: report_
        type: CallStatusStats
      - name: "collectCallStatus(CallStatusStats& filter_stats,\n                                const
          absl::StatusCode& code)"
        type: void
      item_type: struct
      name: ServiceControlFilterStats
      pos:
        line_end: 112
        line_start: 84
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: FilterStats
      pos:
        line_end: 72
        line_start: 70
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: CallStatusStats
      pos:
        line_end: 79
        line_start: 77
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields:
      - name: filter_
        type: FilterStats
      - name: check_
        type: CallStatusStats
      - name: allocate_quota_
        type: CallStatusStats
      - name: report_
        type: CallStatusStats
      - name: "collectCallStatus(CallStatusStats& filter_stats,\n                                const
          absl::StatusCode& code)"
        type: void
      item_type: struct
      name: ServiceControlFilterStats
      pos:
        line_end: 112
        line_start: 84
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: FilterStats
      pos:
        line_end: 72
        line_start: 70
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: CallStatusStats
      pos:
        line_end: 79
        line_start: 77
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields:
      - name: filter_
        type: FilterStats
      - name: check_
        type: CallStatusStats
      - name: allocate_quota_
        type: CallStatusStats
      - name: report_
        type: CallStatusStats
      - name: "collectCallStatus(CallStatusStats& filter_stats,\n                                const
          absl::StatusCode& code)"
        type: void
      item_type: struct
      name: ServiceControlFilterStats
      pos:
        line_end: 112
        line_start: 84
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: FilterStats
      pos:
        line_end: 72
        line_start: 70
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: CallStatusStats
      pos:
        line_end: 79
        line_start: 77
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields:
      - name: filter_
        type: FilterStats
      - name: check_
        type: CallStatusStats
      - name: allocate_quota_
        type: CallStatusStats
      - name: report_
        type: CallStatusStats
      - name: "collectCallStatus(CallStatusStats& filter_stats,\n                                const
          absl::StatusCode& code)"
        type: void
      item_type: struct
      name: ServiceControlFilterStats
      pos:
        line_end: 112
        line_start: 84
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: FilterStats
      pos:
        line_end: 72
        line_start: 70
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: CallStatusStats
      pos:
        line_end: 79
        line_start: 77
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields:
      - name: filter_
        type: FilterStats
      - name: check_
        type: CallStatusStats
      - name: allocate_quota_
        type: CallStatusStats
      - name: report_
        type: CallStatusStats
      - name: "collectCallStatus(CallStatusStats& filter_stats,\n                                const
          absl::StatusCode& code)"
        type: void
      item_type: struct
      name: ServiceControlFilterStats
      pos:
        line_end: 112
        line_start: 84
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: FilterStats
      pos:
        line_end: 72
        line_start: 70
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields: []
      item_type: struct
      name: CallStatusStats
      pos:
        line_end: 79
        line_start: 77
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    - fields:
      - name: filter_
        type: FilterStats
      - name: check_
        type: CallStatusStats
      - name: allocate_quota_
        type: CallStatusStats
      - name: report_
        type: CallStatusStats
      - name: "collectCallStatus(CallStatusStats& filter_stats,\n                                const
          absl::StatusCode& code)"
        type: void
      item_type: struct
      name: ServiceControlFilterStats
      pos:
        line_end: 112
        line_start: 84
        source_file: /src/esp-v2/src/envoy/http/service_control/filter_stats.h
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
  - '& sc_token() const'
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
  - '& quota_token() const'
  - '& client_cache()'
  - '& getTLCache()'
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
  - '& sc_token() const'
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
  - '& quota_token() const'
  - '& client_cache()'
  - '& getTLCache()'
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
  - '& sc_token() const'
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
  - '& quota_token() const'
  - '& client_cache()'
  - '& getTLCache()'
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
  - '& sc_token() const'
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
  - '& quota_token() const'
  - '& client_cache()'
  - '& getTLCache()'
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
  - '& sc_token() const'
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
  - '& quota_token() const'
  - '& client_cache()'
  - '& getTLCache()'
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
  - '& sc_token() const'
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
  - '& quota_token() const'
  - '& client_cache()'
  - '& getTLCache()'
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
  - '& sc_token() const'
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
  - '& quota_token() const'
  - '& client_cache()'
  - '& getTLCache()'
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
  - '& sc_token() const'
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
  - '& quota_token() const'
  - '& client_cache()'
  - '& getTLCache()'
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
  - '& sc_token() const'
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
  - '& quota_token() const'
  - '& client_cache()'
  - '& getTLCache()'
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
  - '& sc_token() const'
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
  - '& quota_token() const'
  - '& client_cache()'
  - '& getTLCache()'
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
  - '& sc_token() const'
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
  - '& quota_token() const'
  - '& client_cache()'
  - '& getTLCache()'
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
  - '& sc_token() const'
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
  - '& quota_token() const'
  - '& client_cache()'
  - '& getTLCache()'
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
  - '& sc_token() const'
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
  - '& quota_token() const'
  - '& client_cache()'
  - '& getTLCache()'
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
  - '& sc_token() const'
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
  - '& quota_token() const'
  - '& client_cache()'
  - '& getTLCache()'
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
  - '& sc_token() const'
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
  - '& quota_token() const'
  - '& client_cache()'
  - '& getTLCache()'
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::ThreadLocalCache
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_sc_token
  - '& sc_token() const'
  - espv2::envoy::http_filters::service_control::ThreadLocalCache::set_quota_token
  - '& quota_token() const'
  - '& client_cache()'
  - '& getTLCache()'
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::ServiceControlCallFactoryImpl
  - espv2::envoy::http_filters::service_control::ServiceControlCallFactoryImpl::create
  source_file: /src/esp-v2/src/envoy/http/service_control/service_control_call_impl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  source_file: /src/esp-v2/src/envoy/utils/http_header_utils_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::utils::JsonStruct::getString
  - espv2::envoy::utils::JsonStruct::getInteger
  - espv2::envoy::utils::JsonStruct::getTimestamp
  - espv2::envoy::utils::JsonStruct::getString
  - espv2::envoy::utils::JsonStruct::getInteger
  - espv2::envoy::utils::JsonStruct::getTimestamp
  - espv2::envoy::utils::JsonStruct::getString
  - espv2::envoy::utils::JsonStruct::getInteger
  - espv2::envoy::utils::JsonStruct::getTimestamp
  - espv2::envoy::utils::JsonStruct::getString
  - espv2::envoy::utils::JsonStruct::getInteger
  - espv2::envoy::utils::JsonStruct::getTimestamp
  - espv2::envoy::utils::JsonStruct::getString
  - espv2::envoy::utils::JsonStruct::getInteger
  - espv2::envoy::utils::JsonStruct::getTimestamp
  - espv2::envoy::utils::JsonStruct::getString
  - espv2::envoy::utils::JsonStruct::getInteger
  - espv2::envoy::utils::JsonStruct::getTimestamp
  - espv2::envoy::utils::JsonStruct::getString
  - espv2::envoy::utils::JsonStruct::getInteger
  - espv2::envoy::utils::JsonStruct::getTimestamp
  - espv2::envoy::utils::JsonStruct::getString
  - espv2::envoy::utils::JsonStruct::getInteger
  - espv2::envoy::utils::JsonStruct::getTimestamp
  source_file: /src/esp-v2/src/envoy/utils/json_struct.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  source_file: /src/esp-v2/src/envoy/utils/json_struct_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::utils::setStringFilterState
  - espv2::envoy::utils::getStringFilterState
  - espv2::envoy::utils::setStringFilterState
  - espv2::envoy::utils::getStringFilterState
  - espv2::envoy::utils::setStringFilterState
  - espv2::envoy::utils::getStringFilterState
  - espv2::envoy::utils::setStringFilterState
  - espv2::envoy::utils::getStringFilterState
  - espv2::envoy::utils::setStringFilterState
  - espv2::envoy::utils::getStringFilterState
  - espv2::envoy::utils::setStringFilterState
  - espv2::envoy::utils::getStringFilterState
  - espv2::envoy::utils::setStringFilterState
  - espv2::envoy::utils::getStringFilterState
  - espv2::envoy::utils::setStringFilterState
  - espv2::envoy::utils::getStringFilterState
  source_file: /src/esp-v2/src/envoy/utils/filter_state_utils.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  source_file: /src/esp-v2/src/envoy/utils/filter_state_utils_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::utils::generateRcDetails
  - espv2::envoy::utils::generateRcDetails
  - espv2::envoy::utils::generateRcDetails
  - espv2::envoy::utils::generateRcDetails
  - espv2::envoy::utils::generateRcDetails
  - espv2::envoy::utils::generateRcDetails
  - espv2::envoy::utils::generateRcDetails
  - espv2::envoy::utils::generateRcDetails
  source_file: /src/esp-v2/src/envoy/utils/rc_detail_utils.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::utils::JsonStruct::JsonStruct
  - espv2::envoy::utils::JsonStruct::JsonStruct
  - espv2::envoy::utils::JsonStruct::JsonStruct
  - espv2::envoy::utils::JsonStruct::JsonStruct
  - espv2::envoy::utils::JsonStruct::JsonStruct
  - espv2::envoy::utils::JsonStruct::JsonStruct
  - espv2::envoy::utils::JsonStruct::JsonStruct
  - espv2::envoy::utils::JsonStruct::JsonStruct
  source_file: /src/esp-v2/src/envoy/utils/json_struct.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/esp-v2/src/envoy/utils/http_header_utils.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/esp-v2/src/envoy/utils/rc_detail_utils.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::utils::fuzz::DEFINE_PROTO_FUZZER
  source_file: /src/esp-v2/src/envoy/utils/json_struct_fuzz_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::utils::readHeaderEntry
  - espv2::envoy::utils::extractHeader
  - espv2::envoy::utils::handleHttpMethodOverride
  - espv2::envoy::utils::readHeaderEntry
  - espv2::envoy::utils::extractHeader
  - espv2::envoy::utils::handleHttpMethodOverride
  - espv2::envoy::utils::readHeaderEntry
  - espv2::envoy::utils::extractHeader
  - espv2::envoy::utils::handleHttpMethodOverride
  - espv2::envoy::utils::readHeaderEntry
  - espv2::envoy::utils::extractHeader
  - espv2::envoy::utils::handleHttpMethodOverride
  - espv2::envoy::utils::readHeaderEntry
  - espv2::envoy::utils::extractHeader
  - espv2::envoy::utils::handleHttpMethodOverride
  - espv2::envoy::utils::readHeaderEntry
  - espv2::envoy::utils::extractHeader
  - espv2::envoy::utils::handleHttpMethodOverride
  - espv2::envoy::utils::readHeaderEntry
  - espv2::envoy::utils::extractHeader
  - espv2::envoy::utils::handleHttpMethodOverride
  - espv2::envoy::utils::readHeaderEntry
  - espv2::envoy::utils::extractHeader
  - espv2::envoy::utils::handleHttpMethodOverride
  source_file: /src/esp-v2/src/envoy/utils/http_header_utils.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/esp-v2/src/envoy/utils/filter_state_utils.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  - espv2::envoy::utils::TEST
  source_file: /src/esp-v2/src/envoy/utils/rc_detail_utils_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~TokenSubscriberFactory()
  - ~TokenSubscriberFactory()
  - ~TokenSubscriberFactory()
  - ~TokenSubscriberFactory()
  - ~TokenSubscriberFactory()
  - ~TokenSubscriberFactory()
  - ~TokenSubscriberFactory()
  - ~TokenSubscriberFactory()
  source_file: /src/esp-v2/src/envoy/token/token_subscriber_factory.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::token::test::IamTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamParseTokenTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamParseTokenTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamParseTokenTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamParseTokenTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamParseTokenTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamParseTokenTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamParseTokenTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamParseTokenTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamParseTokenTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamParseTokenTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamParseTokenTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamParseTokenTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamParseTokenTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamParseTokenTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamParseTokenTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::IamParseTokenTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  source_file: /src/esp-v2/src/envoy/token/iam_token_info_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::token::TokenSubscriber::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::token::TokenSubscriber::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::token::TokenSubscriber::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::token::TokenSubscriber::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::token::TokenSubscriber::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::token::TokenSubscriber::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::token::TokenSubscriber::onBeforeFinalizeUpstreamSpan
  - espv2::envoy::token::TokenSubscriber::onBeforeFinalizeUpstreamSpan
  source_file: /src/esp-v2/src/envoy/token/token_subscriber.h
  types:
    enum:
    - enumerators:
      - name: AccessToken
      - name: IdentityToken
      item_type: enum
      name: TokenType
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/esp-v2/src/envoy/token/token_subscriber.h
    - enumerators:
      - name: AccessToken
      - name: IdentityToken
      item_type: enum
      name: TokenType
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/esp-v2/src/envoy/token/token_subscriber.h
    - enumerators:
      - name: AccessToken
      - name: IdentityToken
      item_type: enum
      name: TokenType
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/esp-v2/src/envoy/token/token_subscriber.h
    - enumerators:
      - name: AccessToken
      - name: IdentityToken
      item_type: enum
      name: TokenType
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/esp-v2/src/envoy/token/token_subscriber.h
    - enumerators:
      - name: AccessToken
      - name: IdentityToken
      item_type: enum
      name: TokenType
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/esp-v2/src/envoy/token/token_subscriber.h
    - enumerators:
      - name: AccessToken
      - name: IdentityToken
      item_type: enum
      name: TokenType
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/esp-v2/src/envoy/token/token_subscriber.h
    - enumerators:
      - name: AccessToken
      - name: IdentityToken
      item_type: enum
      name: TokenType
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/esp-v2/src/envoy/token/token_subscriber.h
    - enumerators:
      - name: AccessToken
      - name: IdentityToken
      item_type: enum
      name: TokenType
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/esp-v2/src/envoy/token/token_subscriber.h
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/esp-v2/src/envoy/token/imds_token_info.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~TokenInfo()
  - ~TokenInfo()
  - ~TokenInfo()
  - ~TokenInfo()
  - ~TokenInfo()
  - ~TokenInfo()
  - ~TokenInfo()
  - ~TokenInfo()
  source_file: /src/esp-v2/src/envoy/token/token_info.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: token
        type: std::string
      - name: expiry_duration
        type: std::chrono::seconds
      item_type: struct
      name: TokenResult
      pos:
        line_end: 27
        line_start: 24
        source_file: /src/esp-v2/src/envoy/token/token_info.h
    - fields:
      - name: token
        type: std::string
      - name: expiry_duration
        type: std::chrono::seconds
      item_type: struct
      name: TokenResult
      pos:
        line_end: 27
        line_start: 24
        source_file: /src/esp-v2/src/envoy/token/token_info.h
    - fields:
      - name: token
        type: std::string
      - name: expiry_duration
        type: std::chrono::seconds
      item_type: struct
      name: TokenResult
      pos:
        line_end: 27
        line_start: 24
        source_file: /src/esp-v2/src/envoy/token/token_info.h
    - fields:
      - name: token
        type: std::string
      - name: expiry_duration
        type: std::chrono::seconds
      item_type: struct
      name: TokenResult
      pos:
        line_end: 27
        line_start: 24
        source_file: /src/esp-v2/src/envoy/token/token_info.h
    - fields:
      - name: token
        type: std::string
      - name: expiry_duration
        type: std::chrono::seconds
      item_type: struct
      name: TokenResult
      pos:
        line_end: 27
        line_start: 24
        source_file: /src/esp-v2/src/envoy/token/token_info.h
    - fields:
      - name: token
        type: std::string
      - name: expiry_duration
        type: std::chrono::seconds
      item_type: struct
      name: TokenResult
      pos:
        line_end: 27
        line_start: 24
        source_file: /src/esp-v2/src/envoy/token/token_info.h
    - fields:
      - name: token
        type: std::string
      - name: expiry_duration
        type: std::chrono::seconds
      item_type: struct
      name: TokenResult
      pos:
        line_end: 27
        line_start: 24
        source_file: /src/esp-v2/src/envoy/token/token_info.h
    - fields:
      - name: token
        type: std::string
      - name: expiry_duration
        type: std::chrono::seconds
      item_type: struct
      name: TokenResult
      pos:
        line_end: 27
        line_start: 24
        source_file: /src/esp-v2/src/envoy/token/token_info.h
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::token::IamTokenInfo::IamTokenInfo
  - espv2::envoy::token::IamTokenInfo::prepareRequest
  - espv2::envoy::token::IamTokenInfo::parseAccessToken
  - espv2::envoy::token::IamTokenInfo::parseIdentityToken
  - espv2::envoy::token::IamTokenInfo::insertStrListToProto
  - espv2::envoy::token::IamTokenInfo::IamTokenInfo
  - espv2::envoy::token::IamTokenInfo::prepareRequest
  - espv2::envoy::token::IamTokenInfo::parseAccessToken
  - espv2::envoy::token::IamTokenInfo::parseIdentityToken
  - espv2::envoy::token::IamTokenInfo::insertStrListToProto
  - espv2::envoy::token::IamTokenInfo::IamTokenInfo
  - espv2::envoy::token::IamTokenInfo::prepareRequest
  - espv2::envoy::token::IamTokenInfo::parseAccessToken
  - espv2::envoy::token::IamTokenInfo::parseIdentityToken
  - espv2::envoy::token::IamTokenInfo::insertStrListToProto
  - espv2::envoy::token::IamTokenInfo::IamTokenInfo
  - espv2::envoy::token::IamTokenInfo::prepareRequest
  - espv2::envoy::token::IamTokenInfo::parseAccessToken
  - espv2::envoy::token::IamTokenInfo::parseIdentityToken
  - espv2::envoy::token::IamTokenInfo::insertStrListToProto
  - espv2::envoy::token::IamTokenInfo::IamTokenInfo
  - espv2::envoy::token::IamTokenInfo::prepareRequest
  - espv2::envoy::token::IamTokenInfo::parseAccessToken
  - espv2::envoy::token::IamTokenInfo::parseIdentityToken
  - espv2::envoy::token::IamTokenInfo::insertStrListToProto
  - espv2::envoy::token::IamTokenInfo::IamTokenInfo
  - espv2::envoy::token::IamTokenInfo::prepareRequest
  - espv2::envoy::token::IamTokenInfo::parseAccessToken
  - espv2::envoy::token::IamTokenInfo::parseIdentityToken
  - espv2::envoy::token::IamTokenInfo::insertStrListToProto
  - espv2::envoy::token::IamTokenInfo::IamTokenInfo
  - espv2::envoy::token::IamTokenInfo::prepareRequest
  - espv2::envoy::token::IamTokenInfo::parseAccessToken
  - espv2::envoy::token::IamTokenInfo::parseIdentityToken
  - espv2::envoy::token::IamTokenInfo::insertStrListToProto
  - espv2::envoy::token::IamTokenInfo::IamTokenInfo
  - espv2::envoy::token::IamTokenInfo::prepareRequest
  - espv2::envoy::token::IamTokenInfo::parseAccessToken
  - espv2::envoy::token::IamTokenInfo::parseIdentityToken
  - espv2::envoy::token::IamTokenInfo::insertStrListToProto
  source_file: /src/esp-v2/src/envoy/token/iam_token_info.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  source_file: /src/esp-v2/src/envoy/token/imds_token_info_fuzz_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  - espv2::envoy::token::fuzz::DEFINE_PROTO_FUZZER
  source_file: /src/esp-v2/src/envoy/token/iam_token_info_fuzz_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/esp-v2/src/envoy/token/iam_token_info.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/esp-v2/src/envoy/token/mocks.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::token::test::TokenSubscriberTest::SetUp
  - espv2::envoy::token::test::TokenSubscriberTest::setUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TokenSubscriberTest::SetUp
  - espv2::envoy::token::test::TokenSubscriberTest::setUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TokenSubscriberTest::SetUp
  - espv2::envoy::token::test::TokenSubscriberTest::setUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TokenSubscriberTest::SetUp
  - espv2::envoy::token::test::TokenSubscriberTest::setUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TokenSubscriberTest::SetUp
  - espv2::envoy::token::test::TokenSubscriberTest::setUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TokenSubscriberTest::SetUp
  - espv2::envoy::token::test::TokenSubscriberTest::setUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TokenSubscriberTest::SetUp
  - espv2::envoy::token::test::TokenSubscriberTest::setUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TokenSubscriberTest::SetUp
  - espv2::envoy::token::test::TokenSubscriberTest::setUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TokenSubscriberTest::SetUp
  - espv2::envoy::token::test::TokenSubscriberTest::setUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TokenSubscriberTest::SetUp
  - espv2::envoy::token::test::TokenSubscriberTest::setUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TokenSubscriberTest::SetUp
  - espv2::envoy::token::test::TokenSubscriberTest::setUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TokenSubscriberTest::SetUp
  - espv2::envoy::token::test::TokenSubscriberTest::setUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TokenSubscriberTest::SetUp
  - espv2::envoy::token::test::TokenSubscriberTest::setUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TokenSubscriberTest::SetUp
  - espv2::envoy::token::test::TokenSubscriberTest::setUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TokenSubscriberTest::SetUp
  - espv2::envoy::token::test::TokenSubscriberTest::setUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TokenSubscriberTest::SetUp
  - espv2::envoy::token::test::TokenSubscriberTest::setUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  source_file: /src/esp-v2/src/envoy/token/token_subscriber_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::ImdsTokenInfoTest::SetUp
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  - espv2::envoy::token::test::TEST_F
  source_file: /src/esp-v2/src/envoy/token/imds_token_info_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::token::TokenSubscriberFactoryImpl::TokenSubscriberFactoryImpl
  - espv2::envoy::token::TokenSubscriberFactoryImpl::createImdsTokenSubscriber
  - espv2::envoy::token::TokenSubscriberFactoryImpl::createIamTokenSubscriber
  - espv2::envoy::token::TokenSubscriberFactoryImpl::TokenSubscriberFactoryImpl
  - espv2::envoy::token::TokenSubscriberFactoryImpl::createImdsTokenSubscriber
  - espv2::envoy::token::TokenSubscriberFactoryImpl::createIamTokenSubscriber
  - espv2::envoy::token::TokenSubscriberFactoryImpl::TokenSubscriberFactoryImpl
  - espv2::envoy::token::TokenSubscriberFactoryImpl::createImdsTokenSubscriber
  - espv2::envoy::token::TokenSubscriberFactoryImpl::createIamTokenSubscriber
  - espv2::envoy::token::TokenSubscriberFactoryImpl::TokenSubscriberFactoryImpl
  - espv2::envoy::token::TokenSubscriberFactoryImpl::createImdsTokenSubscriber
  - espv2::envoy::token::TokenSubscriberFactoryImpl::createIamTokenSubscriber
  - espv2::envoy::token::TokenSubscriberFactoryImpl::TokenSubscriberFactoryImpl
  - espv2::envoy::token::TokenSubscriberFactoryImpl::createImdsTokenSubscriber
  - espv2::envoy::token::TokenSubscriberFactoryImpl::createIamTokenSubscriber
  - espv2::envoy::token::TokenSubscriberFactoryImpl::TokenSubscriberFactoryImpl
  - espv2::envoy::token::TokenSubscriberFactoryImpl::createImdsTokenSubscriber
  - espv2::envoy::token::TokenSubscriberFactoryImpl::createIamTokenSubscriber
  - espv2::envoy::token::TokenSubscriberFactoryImpl::TokenSubscriberFactoryImpl
  - espv2::envoy::token::TokenSubscriberFactoryImpl::createImdsTokenSubscriber
  - espv2::envoy::token::TokenSubscriberFactoryImpl::createIamTokenSubscriber
  - espv2::envoy::token::TokenSubscriberFactoryImpl::TokenSubscriberFactoryImpl
  - espv2::envoy::token::TokenSubscriberFactoryImpl::createImdsTokenSubscriber
  - espv2::envoy::token::TokenSubscriberFactoryImpl::createIamTokenSubscriber
  source_file: /src/esp-v2/src/envoy/token/token_subscriber_factory_impl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::token::ImdsTokenInfo::ImdsTokenInfo
  - espv2::envoy::token::ImdsTokenInfo::prepareRequest
  - espv2::envoy::token::ImdsTokenInfo::parseAccessToken
  - espv2::envoy::token::ImdsTokenInfo::parseIdentityToken
  - espv2::envoy::token::ImdsTokenInfo::ImdsTokenInfo
  - espv2::envoy::token::ImdsTokenInfo::prepareRequest
  - espv2::envoy::token::ImdsTokenInfo::parseAccessToken
  - espv2::envoy::token::ImdsTokenInfo::parseIdentityToken
  - espv2::envoy::token::ImdsTokenInfo::ImdsTokenInfo
  - espv2::envoy::token::ImdsTokenInfo::prepareRequest
  - espv2::envoy::token::ImdsTokenInfo::parseAccessToken
  - espv2::envoy::token::ImdsTokenInfo::parseIdentityToken
  - espv2::envoy::token::ImdsTokenInfo::ImdsTokenInfo
  - espv2::envoy::token::ImdsTokenInfo::prepareRequest
  - espv2::envoy::token::ImdsTokenInfo::parseAccessToken
  - espv2::envoy::token::ImdsTokenInfo::parseIdentityToken
  - espv2::envoy::token::ImdsTokenInfo::ImdsTokenInfo
  - espv2::envoy::token::ImdsTokenInfo::prepareRequest
  - espv2::envoy::token::ImdsTokenInfo::parseAccessToken
  - espv2::envoy::token::ImdsTokenInfo::parseIdentityToken
  - espv2::envoy::token::ImdsTokenInfo::ImdsTokenInfo
  - espv2::envoy::token::ImdsTokenInfo::prepareRequest
  - espv2::envoy::token::ImdsTokenInfo::parseAccessToken
  - espv2::envoy::token::ImdsTokenInfo::parseIdentityToken
  - espv2::envoy::token::ImdsTokenInfo::ImdsTokenInfo
  - espv2::envoy::token::ImdsTokenInfo::prepareRequest
  - espv2::envoy::token::ImdsTokenInfo::parseAccessToken
  - espv2::envoy::token::ImdsTokenInfo::parseIdentityToken
  - espv2::envoy::token::ImdsTokenInfo::ImdsTokenInfo
  - espv2::envoy::token::ImdsTokenInfo::prepareRequest
  - espv2::envoy::token::ImdsTokenInfo::parseAccessToken
  - espv2::envoy::token::ImdsTokenInfo::parseIdentityToken
  source_file: /src/esp-v2/src/envoy/token/imds_token_info.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - espv2::envoy::token::TokenSubscriber::TokenSubscriber
  - espv2::envoy::token::TokenSubscriber::init
  - TokenSubscriber::~TokenSubscriber()
  - espv2::envoy::token::TokenSubscriber::handleFailResponse
  - espv2::envoy::token::TokenSubscriber::handleSuccessResponse
  - espv2::envoy::token::TokenSubscriber::refresh
  - espv2::envoy::token::TokenSubscriber::processResponse
  - espv2::envoy::token::TokenSubscriber::onSuccess
  - espv2::envoy::token::TokenSubscriber::onFailure
  - espv2::envoy::token::TokenSubscriber::TokenSubscriber
  - espv2::envoy::token::TokenSubscriber::init
  - TokenSubscriber::~TokenSubscriber()
  - espv2::envoy::token::TokenSubscriber::handleFailResponse
  - espv2::envoy::token::TokenSubscriber::handleSuccessResponse
  - espv2::envoy::token::TokenSubscriber::refresh
  - espv2::envoy::token::TokenSubscriber::processResponse
  - espv2::envoy::token::TokenSubscriber::onSuccess
  - espv2::envoy::token::TokenSubscriber::onFailure
  - espv2::envoy::token::TokenSubscriber::TokenSubscriber
  - espv2::envoy::token::TokenSubscriber::init
  - TokenSubscriber::~TokenSubscriber()
  - espv2::envoy::token::TokenSubscriber::handleFailResponse
  - espv2::envoy::token::TokenSubscriber::handleSuccessResponse
  - espv2::envoy::token::TokenSubscriber::refresh
  - espv2::envoy::token::TokenSubscriber::processResponse
  - espv2::envoy::token::TokenSubscriber::onSuccess
  - espv2::envoy::token::TokenSubscriber::onFailure
  - espv2::envoy::token::TokenSubscriber::TokenSubscriber
  - espv2::envoy::token::TokenSubscriber::init
  - TokenSubscriber::~TokenSubscriber()
  - espv2::envoy::token::TokenSubscriber::handleFailResponse
  - espv2::envoy::token::TokenSubscriber::handleSuccessResponse
  - espv2::envoy::token::TokenSubscriber::refresh
  - espv2::envoy::token::TokenSubscriber::processResponse
  - espv2::envoy::token::TokenSubscriber::onSuccess
  - espv2::envoy::token::TokenSubscriber::onFailure
  - espv2::envoy::token::TokenSubscriber::TokenSubscriber
  - espv2::envoy::token::TokenSubscriber::init
  - TokenSubscriber::~TokenSubscriber()
  - espv2::envoy::token::TokenSubscriber::handleFailResponse
  - espv2::envoy::token::TokenSubscriber::handleSuccessResponse
  - espv2::envoy::token::TokenSubscriber::refresh
  - espv2::envoy::token::TokenSubscriber::processResponse
  - espv2::envoy::token::TokenSubscriber::onSuccess
  - espv2::envoy::token::TokenSubscriber::onFailure
  - espv2::envoy::token::TokenSubscriber::TokenSubscriber
  - espv2::envoy::token::TokenSubscriber::init
  - TokenSubscriber::~TokenSubscriber()
  - espv2::envoy::token::TokenSubscriber::handleFailResponse
  - espv2::envoy::token::TokenSubscriber::handleSuccessResponse
  - espv2::envoy::token::TokenSubscriber::refresh
  - espv2::envoy::token::TokenSubscriber::processResponse
  - espv2::envoy::token::TokenSubscriber::onSuccess
  - espv2::envoy::token::TokenSubscriber::onFailure
  - espv2::envoy::token::TokenSubscriber::TokenSubscriber
  - espv2::envoy::token::TokenSubscriber::init
  - TokenSubscriber::~TokenSubscriber()
  - espv2::envoy::token::TokenSubscriber::handleFailResponse
  - espv2::envoy::token::TokenSubscriber::handleSuccessResponse
  - espv2::envoy::token::TokenSubscriber::refresh
  - espv2::envoy::token::TokenSubscriber::processResponse
  - espv2::envoy::token::TokenSubscriber::onSuccess
  - espv2::envoy::token::TokenSubscriber::onFailure
  - espv2::envoy::token::TokenSubscriber::TokenSubscriber
  - espv2::envoy::token::TokenSubscriber::init
  - TokenSubscriber::~TokenSubscriber()
  - espv2::envoy::token::TokenSubscriber::handleFailResponse
  - espv2::envoy::token::TokenSubscriber::handleSuccessResponse
  - espv2::envoy::token::TokenSubscriber::refresh
  - espv2::envoy::token::TokenSubscriber::processResponse
  - espv2::envoy::token::TokenSubscriber::onSuccess
  - espv2::envoy::token::TokenSubscriber::onFailure
  source_file: /src/esp-v2/src/envoy/token/token_subscriber.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
